CN102393816A - WinCE应用在OMS上全屏显示的方法 - Google Patents
WinCE应用在OMS上全屏显示的方法 Download PDFInfo
- Publication number
- CN102393816A CN102393816A CN2011101739591A CN201110173959A CN102393816A CN 102393816 A CN102393816 A CN 102393816A CN 2011101739591 A CN2011101739591 A CN 2011101739591A CN 201110173959 A CN201110173959 A CN 201110173959A CN 102393816 A CN102393816 A CN 102393816A
- Authority
- CN
- China
- Prior art keywords
- oms
- newly
- wince
- windows
- default value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Nitrogen Condensed Heterocyclic Rings (AREA)
Abstract
本发明公开了WinCE应用在OMS上全屏显示的方法,包括:步骤1,判断新建视窗的类型是否为子窗口或者弹出窗口,如果是,则根据预设的参数新建视窗,否则执行步骤2;步骤2,判断新建视窗的宽度是否为默认值,如果是,执行步骤3,否则执行步骤4;步骤3,判断结构体中的标志变量是否为预设值,如果是,新建视窗的尺寸设置为屏幕的尺寸,否则按照默认值新建视窗;步骤4,判断新建视窗的高度是否为默认值,如果是,按照默认值新建视窗,否则,结束流程。本发明能够充分利用移动终端有限的屏幕,提高WinCE应用在OMS平台上直接运行的用户体验。
Description
技术领域
本发明涉及通信领域,尤其涉及WinCE应用在OMS上全屏显示的方法。
背景技术
操作系统相当于计算机的灵魂,任何计算机都离不开操作系统,同时也都受操作系统的限制,所有的应用软件都是基于某种特定操作系统的,都只能在这种特定的操作系统上运行,搬到别的操作系统上就不能运行。因此,Windows应用只能在Windows操作系统上运行,而Linux应用也只能在Linux操作系统上运行。但是如果能让Windows应用软件直接在Linux操作系统上运行,那么用户就有可能摆脱对Windows操作系统的依赖而改用Linux操作系统,这显然是很有意义的。
以手机为代表的智能化移动终端设备既是计算机技术的一个重要发展方向,又是一个竞争十分激烈的市场。自从谷歌公司和开放手机联盟推出安卓(Android)操作系统和基于Android的手机以来,很快就在世界手机市场上占有了不小的份额,各种Android手机层出不穷。所谓Android操作系统,实际上是对Linux操作系统的一种改编和扩充,它的内核基本上就是Linux的内核,但是在用户空间却专门针对手机和移动终端设备的特点作了大幅的改进和增强,这些改动大都与编程模式和图形界面,即图形化用户界面(GUI)有关。
由中国移动开发并推出的OPhone手机操作系统OMS,也是基于Android的。开放管理系统(OMS)平台是基于ARM微处理器、Linux内核和Android操作系统的手机平台。Android是个基于Linux内核的Java平台。相比之下,WinCE/Windows Mobile的应用,特别是一些重要的应用,则都是用C/C++语言编写的。更重要的是,WinCE/Windows Mobile都是基于Windows内核的,与Linux内核有着完全不同的系统调用界面,用户空间也有完全不同的API,所以这是两个不同的平台,这两个操作系统(及其内核)原本是不能兼容的。要使Windows Mobile/WinCE的应用软件直接运行在OMS平台上,可以通过将Linux上的开源软件Wine移植到OMS平台上,在Wine的支持下实现直接运行WinCE应用软件二进制代码的目的。然而,Wine主要是面向x86系统结构微处理器的,虽然也支持PowerPC、Sparc等别的微处理器,但是却不支持ARM,所以这种移植是跨处理器的。
使OMS手机兼容WinCE/Windows Mobile手机应用,无论对于用户还是厂商而言却有着重要的意义。这是因为,这使得OMS手机的用户在应用软件方面就增加了许多选择;并且不再因为用惯了某几款常用的WinCE应用软件而不愿改用OMS手机,或者因为某一款必须要用的软件只有WinCE版本而无法改用OMS手机。进一步,原来的那些WinCE/Windows Mobile手机应用开发者,现在也可以开发OMS应用了,而且还可以慢慢过渡到专为OMS开发应用软件,成为OMS应用开发者,使OMS手机的应用软件更加丰富。
然而,与Windows应用相比,WinCE应用有些特性。针对这些特性,就需要对Wine的代码做一些适当的修改,从而使Windows Mobile/WinCE的应用软件在OMS平台上直接运行时,获得更好的用户体验。Wine是Windows应用软件与Linux内核之间的适配层,体现为一个Wine服务进程(Wine server)和一组动态连接库(等价于Windows的众多DLL)。Wine的GUI用户界面仍依赖于X11,由Wine的动态连接库x11drv和X-Server服务进程构成。其中x11drv是作为Wine与X-Server之间的界面,而X-Server服务进程本来就存在,因为GNOME或KDE也要通过X-Server服务进程操作图形界面。
跟Windows操作系统类似,在Wine的代码中,新建视窗默认的宽度和高度是屏幕大小的3/4,也就是以窗口的形式显示在屏幕上。这样的显示方式在桌面系统上是比较合适的,因为桌面系统屏幕比较大,而且分辨率比较高。然而,如果要在移动智能终端上运行WinCE应用,再以窗口的形式显示就不太合适。因为,移动智能终端的屏幕比桌面系统屏幕要小很多,如果在移动智能终端上还是已窗口的形式显示,视窗就会显得非常小。这样,不仅没有充分利用移动终端有限的屏幕,而且会严重影响WinCE应用在OMS平台上直接运行的用户体验。
发明内容
针对现有技术中存在的上述问题,本发明提供了WinCE应用在OMS上全屏显示的方法。
本发明提供了WinCE应用在OMS上全屏显示的方法,包括:
步骤1,判断新建视窗的类型是否为子窗口或者弹出窗口,如果是,则根据预设的参数新建视窗,否则执行步骤2;
步骤2,判断新建视窗的宽度是否为默认值,如果是,执行步骤3,否则执行步骤4;
步骤3,判断结构体中的标志变量是否为预设值,如果是,新建视窗的尺寸设置为屏幕的尺寸,否则按照默认值新建视窗;
步骤4,判断新建视窗的高度是否为默认值,如果是,按照默认值新建视窗,否则,结束流程。
在一个示例中,新建视窗由函数WIN_FixCoordinates()实现。
在一个示例中,所述结构体为info结构体,标志变量为dwFlags,预设值为STARTF_USESIZE。
在一个示例中,步骤2中,info结构体的成员变量dwXSize和dwYSize分别设置为屏幕的宽度和高度。
本发明能够充分利用移动终端有限的屏幕,提高WinCE应用在OMS平台上直接运行的用户体验。
附图说明
下面结合附图来对本发明作进一步详细说明,其中:
图1是Wine代码中控制默认视窗大小和位置的代码的流程图。
具体实施方式
本发明通过将Linux上的开源软件Wine移植到OMS平台上,在Wine的支持下实现直接运行WinCE应用软件。在Wine的代码中,如果创建视窗时所给定的视窗位置和大小是DEFAULT,就将新建视窗的宽度和高度都设置成屏幕大小的3/4,这样创建出来的视窗就不是满屏的。为了解决这个问题,本发明提供了一种WinCE应用在OMS上全屏显示的方法,包括如下步骤:
1)分析Wine中视窗显示的相应代码:
在Wine代码中,控制新建视窗的大小和位置的代码主要在函数WIN_FixCoordinates()中。WIN_FixCoordinates()函数中控制视窗默认大小和位置的代码的流程图如图1所示。根据图1所示,当创建视窗时,WIN_FixCoordinates()函数首先判断新建视窗的类型是否为子窗口(WS_CHILD)或弹出窗口(WS_POPUP),如果是就直接根据pos参数设置新建视窗的位置和大小。如果不是,则先判断新建视窗的大小和位置是否为DEFAULT。如果是新建视窗的大小和位置为DEFAULT,接着判断info结构体中的标志变量dwFlags是否为STARTF_USESIZE。如果dwFlags是STARTF_USESIZE,就使用info结构体中的成员变量dwXSize和dwYSize分别作为新建视图的宽度和高度。如果dwFlags不是STARTF_USESIZE,就将新建视图的宽度和高度分别设置为屏幕宽度和高度的3/4倍。
2)修改Wine中视窗显示大小的相应代码:
在Wine代码中,修改控制默认的视窗大小和位置代码,将其设置为屏幕的高度和宽度。
在Wine代码中,找到控制新建视窗大小和位置的相应代码在WIN_FixCoordinates()中后,接下来就是对这些代码进行修改。从代码中可以看出,如果采用默认的视窗的大小和位置,则新建视窗的宽度和高度分别屏幕宽度和高度的3/4倍。如果希望使WinCE应用在OMS上运行时以全屏形式显示,而不是以屏幕宽度和高度的3/4窗口形式显示,就需要修改设置默认的视窗的大小和位置的相应代码,将其新建视窗的宽度和高度分别修改为屏幕的宽度和高度。在函数WIN_FixCoordinates()中,代码的具体修改内容如下:
以上所述仅为本发明的优选实施方式,但本发明保护范围并不局限于此。任何本领域的技术人员在本发明公开的技术范围内,均可对其进行适当的改变或变化,而这种改变或变化都应涵盖在本发明的保护范围之内。
Claims (4)
1.WinCE应用在OMS上全屏显示的方法,其特征在于,包括:
步骤1,判断新建视窗的类型是否为子窗口或者弹出窗口,如果是,则根据预设的参数新建视窗,否则执行步骤2;
步骤2,判断新建视窗的宽度是否为默认值,如果是,执行步骤3,否则执行步骤4;
步骤3,判断结构体中的标志变量是否为预设值,如果是,新建视窗的尺寸设置为屏幕的尺寸,否则按照默认值新建视窗;
步骤4,判断新建视窗的高度是否为默认值,如果是,按照默认值新建视窗,否则,结束流程。
2.如权利要求1所述的方法,其特征在于,新建视窗由函数WIN_FixCoordinates()实现。
3.如权利要求2所述的方法,其特征在于,所述结构体为info结构体,标志变量为dwFlags,预设值为STARTF_USESIZE。
4.如权利要求3所述的方法,其特征在于,步骤2中,info结构体的成员变量dwXSize和dwYSize分别设置为屏幕的宽度和高度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110173959.1A CN102393816B (zh) | 2011-06-24 | 2011-06-24 | WinCE应用在OMS上全屏显示的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110173959.1A CN102393816B (zh) | 2011-06-24 | 2011-06-24 | WinCE应用在OMS上全屏显示的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102393816A true CN102393816A (zh) | 2012-03-28 |
CN102393816B CN102393816B (zh) | 2014-01-01 |
Family
ID=45861145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110173959.1A Active CN102393816B (zh) | 2011-06-24 | 2011-06-24 | WinCE应用在OMS上全屏显示的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102393816B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1260655A (zh) * | 1999-01-11 | 2000-07-19 | 富士通株式会社 | 网络管理方法和网络管理系统 |
CN1534511A (zh) * | 2003-03-27 | 2004-10-06 | 视窗和背景图形接口 |
-
2011
- 2011-06-24 CN CN201110173959.1A patent/CN102393816B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1260655A (zh) * | 1999-01-11 | 2000-07-19 | 富士通株式会社 | 网络管理方法和网络管理系统 |
CN1534511A (zh) * | 2003-03-27 | 2004-10-06 | 视窗和背景图形接口 |
Non-Patent Citations (1)
Title |
---|
韩壮志等: "嵌入式系统显示界面的自适应显示方法", 《液晶与显示》 * |
Also Published As
Publication number | Publication date |
---|---|
CN102393816B (zh) | 2014-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101930366B (zh) | 一种基于浏览器的手机运行时系统 | |
CN107368560B (zh) | 移动应用的页面实现方法和装置、计算机可读存储介质 | |
CN107992308B (zh) | 一种安卓终端应用程序的插件化管理方法 | |
CN103488466A (zh) | 用于执行应用程序的方法和装置 | |
CN103853586B (zh) | 一种在uefi层实现无线网卡驱动的方法 | |
EP3188011B1 (en) | Automatic provisioning of a software platform to a device ecosystem | |
US20140059421A1 (en) | Website blueprint generation and display algorithms to reduce perceived web-page loading time | |
US10747510B1 (en) | Application runtime modification | |
CN101778169B (zh) | 应用程序界面的动态显示方法及装置 | |
CN106371826A (zh) | 应用程序跨系统运行的方法和装置 | |
CN103970563A (zh) | 动态加载安卓类的方法 | |
CN103443763A (zh) | 包含对重写虚拟函数的调用的支持的isa桥接 | |
CA2860657C (en) | Installation engine and package format for parallelizable, reliable installations | |
CN104965723A (zh) | 应用程序的运行方法及装置 | |
CN104598268A (zh) | 应用的处理方法及装置 | |
US8924987B2 (en) | Flat or extended architecture using an integrated application and operating system component for computing systems and environments | |
CN104133669B (zh) | 一种桌面应用的控制方法及终端设备 | |
CN102393816B (zh) | WinCE应用在OMS上全屏显示的方法 | |
CN110619102A (zh) | 一种页面元素的监听的方法及装置 | |
CN102185970A (zh) | 手机视频播放器组件模型对象接口规范的建立方法 | |
CN103309690A (zh) | 处理数据的方法和电子设备 | |
CN113950043B (zh) | 通信方法、装置、存储介质以及终端 | |
CN114756326A (zh) | 一种车载终端双系统及其实现方法 | |
CN103136011B (zh) | 一种便携式多媒体设备及其操作方法 | |
KR20140039779A (ko) | 안드로이드 운영 체제의 부팅 성능 향상 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |