CN102393816B - WinCE应用在OMS上全屏显示的方法 - Google Patents

WinCE应用在OMS上全屏显示的方法 Download PDF

Info

Publication number
CN102393816B
CN102393816B CN201110173959.1A CN201110173959A CN102393816B CN 102393816 B CN102393816 B CN 102393816B CN 201110173959 A CN201110173959 A CN 201110173959A CN 102393816 B CN102393816 B CN 102393816B
Authority
CN
China
Prior art keywords
newly
oms
wince
width
screen
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.)
Active
Application number
CN201110173959.1A
Other languages
English (en)
Other versions
CN102393816A (zh
Inventor
毛德操
王承志
徐鼎鼎
陈天洲
乐金明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INSIGMA TECHNOLOGY Co Ltd
Original Assignee
INSIGMA TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by INSIGMA TECHNOLOGY Co Ltd filed Critical INSIGMA TECHNOLOGY Co Ltd
Priority to CN201110173959.1A priority Critical patent/CN102393816B/zh
Publication of CN102393816A publication Critical patent/CN102393816A/zh
Application granted granted Critical
Publication of CN102393816B publication Critical patent/CN102393816B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了WinCE应用在OMS上全屏显示的方法,包括:步骤1,判断新建视窗的类型是否为子窗口或者弹出窗口,如果是,则根据预设的参数新建视窗,否则执行步骤2;步骤2,判断新建视窗的宽度是否为默认值,如果是,执行步骤3,否则执行步骤4;步骤3,判断结构体中的标志变量是否为预设值,如果是,新建视窗的尺寸设置为屏幕的尺寸,否则按照默认值新建视窗;步骤4,判断新建视窗的高度是否为默认值,如果是,按照默认值新建视窗,否则,结束流程。本发明能够充分利用移动终端有限的屏幕,提高WinCE应用在OMS平台上直接运行的用户体验。

Description

WinCE应用在OMS上全屏显示的方法
技术领域
本发明涉及通信领域,尤其涉及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()中,代码的具体修改内容如下:
Figure BDA0000071045950000051
以上所述仅为本发明的优选实施方式,但本发明保护范围并不局限于此。任何本领域的技术人员在本发明公开的技术范围内,均可对其进行适当的改变或变化,而这种改变或变化都应涵盖在本发明的保护范围之内。

Claims (2)

1.WinCE应用在OMS上全屏显示的方法,其特征在于,通过修改Wine代码中的WIN_FixCoordinates()函数代码来判断和控制新建视窗的类型、大小和位置,包括:
步骤1,判断新建视窗的类型是否为子窗口WS_CHILD或者弹出窗口WS_POPUP,如果是,则根据pos参数设置新建视窗的位置和大小,否则执行步骤2;
步骤2,判断新建视窗的宽度是否为默认值,如果是,执行步骤3,否则执行步骤4;
步骤3,判断info结构体中的标志变量dwFlags是否为STARTF_USESIZE,如果dwFlags是STARTF_USESIZE,就使用info结构体中的成员变量dwXSize和dwYSize分别作为新建视窗的宽度和高度,否则将新建视窗的宽度和高度分别设置为屏幕的宽度和高度;
步骤4,判断新建视窗的高度是否为默认值,如果是,将新建视窗的高度设置为屏幕高度,否则,结束流程。
2.如权利要求1所述的方法,其特征在于,步骤3中,info结构体的标志变量dwFlags不是STARTF_USESIZE时,将新建视窗的宽度和高度分别设置为屏幕的宽度和高度。
CN201110173959.1A 2011-06-24 2011-06-24 WinCE应用在OMS上全屏显示的方法 Active CN102393816B (zh)

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 CN102393816A (zh) 2012-03-28
CN102393816B true 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1260655A (zh) * 1999-01-11 2000-07-19 富士通株式会社 网络管理方法和网络管理系统
CN1534511A (zh) * 2003-03-27 2004-10-06 视窗和背景图形接口

Patent Citations (2)

* Cited by examiner, † Cited by third party
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 (2)

* Cited by examiner, † Cited by third party
Title
嵌入式系统显示界面的自适应显示方法;韩壮志等;《液晶与显示》;20100430;第25卷(第2期);第283-286页 *
韩壮志等.嵌入式系统显示界面的自适应显示方法.《液晶与显示》.2010,第25卷(第2期),第283-286页.

Also Published As

Publication number Publication date
CN102393816A (zh) 2012-03-28

Similar Documents

Publication Publication Date Title
CN106201613B (zh) 预热软件安装
CN101930366B (zh) 一种基于浏览器的手机运行时系统
CA2768752C (en) Terminal device of non-android platform for executing android applications, and computer readable recording medium for storing program of executing android applications on non-android platform
CA2724532C (en) Enhanced upgrade path
EP3188011B1 (en) Automatic provisioning of a software platform to a device ecosystem
CN103488466A (zh) 用于执行应用程序的方法和装置
US10146562B2 (en) Unlimited icon overlays
CN106371826A (zh) 应用程序跨系统运行的方法和装置
US10747510B1 (en) Application runtime modification
CA2860657C (en) Installation engine and package format for parallelizable, reliable installations
CN105354065B (zh) 一种多产品软件升级方法及终端
CN103443763A (zh) 包含对重写虚拟函数的调用的支持的isa桥接
CN105786452A (zh) 移动设备上轻量级app开发系统及方法
CN102393816B (zh) WinCE应用在OMS上全屏显示的方法
Zhou et al. Windows Phone 7 programming for Android and iOS developers
CN102185970A (zh) 手机视频播放器组件模型对象接口规范的建立方法
CN103136011B (zh) 一种便携式多媒体设备及其操作方法
CN108733444B (zh) 一种页面的刷新方法、装置、存储介质及移动终端
CN103136004A (zh) 一种应用程序硬件架构显示方法及装置
Hu et al. An empirical study of mobile/handheld app development using android platforms
CN110619102A (zh) 一种页面元素的监听的方法及装置
KR20140039779A (ko) 안드로이드 운영 체제의 부팅 성능 향상 방법
CN105631505A (zh) 一种支持java卡补丁函数的智能卡
CN111803939B (zh) 图像的渲染方法、装置及电子设备
Islam et al. SSC ENGLISH SOLUTION-An Android Application

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