著录项信息
专利名称 | 嵌入式设备用户界面的实现方法 |
申请号 | CN200510100135.6 | 申请日期 | 2005-09-28 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2006-10-25 | 公开/公告号 | CN1851641 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F9/44 | IPC分类号 | G;0;6;F;9;/;4;4查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 广东省深圳市龙岗区坂田华为总部办公楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华为技术有限公司 | 当前权利人 | 华为技术有限公司 |
发明人 | 树贵明 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
一种嵌入式设备用户界面的实现方法,首先设置基于嵌入式设备操作系统的全屏用户界面程序;在嵌入式设备操作系统界面的任务栏模块中内嵌一个应用程序运行信息转发模块,用于截获并转发第三方应用程序运行信息;全屏用户界面程序接收来自应用程序运行信息转发模块的消息,获取第三方应用程序运行信息,并根据这些信息更新用户操作界面。本发明克服了现有技术嵌入式设备的用户界面中任务栏部分只能使用嵌入式操作系统原有的风格,使用户界面不统一、不协调或呆板的不足,为用户提供个性化全屏的用户操作界面的同时,实现对第三方应用程序窗口的控制。
1、一种嵌入式设备用户界面的实现方法,其特征在于,包括以下步骤: 设置基于嵌入式设备操作系统的全屏用户界面程序; 在嵌入式设备操作系统界面的任务栏模块中内嵌一个应用程序运行信息转发模块,用于截获并转发第三方应用程序运行信息; 所述的全屏用户界面程序设置有应用程序运行信息接收模块,所述应用程序运行信息接收模块接收来自所述的应用程序运行信息转发模块的消息,所述的全屏用户界面程序根据所述消息获取第三方应用程序运行信息,并根据这些信息更新用户操作界面。
2、 根据权利要求1所述的嵌入式设备用户界面的实现方法,其特 征在于:用户通过用户操作界面对第三方应用程序发出的控制信息由所 述的全屏用户界面程序直接发送给所述的第三方应用程序,或通过所述 的应用程序运行信息转发模块转发给所述的第三方应用程序。
3、根据权利要求1或2所述的嵌入式设备用户界面的实现方法,其特征在于:所述的应用程序运行信息转发模块位于任务栏模块的窗口 消息处理函数内,第三方应用程序运行时,通过消息的方式将程序启动 运行时的有关信息发送到所述的任务栏模块,嵌入在其中的应用程序运 行信息转发模块截获这些消息并将其连同包含程序运行信息的参数一20起转发到所述的全屏用户界面程序。
4、根据权利要求3所述的嵌入式设备用户界面的实现方法,其特 征在于:所述用于传递第三方应用程序运行信息的消息包括: HSHELL_WINDOW CREATED 、 HSHELL_WINDOWDESTROYED 、 WM—COPYDATA消息。
5、 根据权利要求3所述的嵌入式设备用户界面的实现方法,其特 征在于:所述全屏用户界面程序通过所述应用程序运行信息接收模块接收的应用程序信息,实时了解应用程序所处的状态以及运行后的窗口句5柄、标题或图标,对界面元素进行创建或更新。
6、 根据权利要求3所述的嵌入式设备用户界面的实现方法,其特 征在于:所述的全屏用户界面程序中在全屏用户界面的上、下、左、右 不同的位置建立个性化的任务栏;或者在全屏窗口的某个区域设置对第 三方应用程序控制的窗口 ,对应已经启动的应用程序在该窗口内建立相10应的按钮、图标或者下拉式菜单。
7、 根据权利要求3所述的嵌入式设备用户界面的实现方法,其特 征在于:所述的嵌入式设备操作系统为Pocket PC、 Windows Mobile或 WinCE操作系统。
嵌入式设备用户界面的实现方法玟术领墚本发明涉及嵌入式设备技术领域,尤其涉及一种嵌入式设备用户界 5 面的实现方法。背录技术WnCE (WindowsCE)是微软公司推出的专为嵌入式产品设计的操 作系统,它于1996年发布了第一个版本,并相继推出了 3.0、 4.1、 4.2io等版本。WinCE是一个支持多线程、多任务的操作系统,其体系结构采 用独立于通常的程序设计语言并和Windows兼容的API(应用程序接口 ) 的方式,这样就可以保障^^mCE的组件化和ROM (只读存储器)化, 充分适应有限的存储空间和各种不同的芯片要求。可以说WinCE最大的特色就是桌面A^ndows操作系统的縮小版本,15在资料的传输上可拥有与现有PC绝对的兼容性,并且为了提升竞争力, 微软特别在WinCE操作系统中加入简易版的Office Word与Office Excel 让使用者将在PC上的使用习惯顺利的延续到WinCE上。另一方面, WinCE的集成开发环境为嵌入式开发人员提供了极为方便的窗口、菜单 化的开发界面以及类似PC平台上VC的开发工具EVC,所以在嵌入式20设备的开发过程中,选用\^mCE作为嵌入式操作系统能提高产品的开发 效率、縮短开发周期、使产品具有更强的市场竞争力。但是,由于WinCE 的用户界面(桌面、任务栏)类似桌面PC上使用的WINDOWS界面, 在屏幕尺寸相对PC小得多的带触摸屏便携设备上直接使用该界面会使 操作变得困难,同时还会使不同厂商基于WinCE开发的设备都有相似的\n"统一的呆板面孔",使用户界面缺乏个性。为了使自己的嵌入式设备给用户提供一个友好、个性化的操作界面,开发人员采用的简洁的方法是:设计一个全屏窗口的用户界面程序, 在系统启动时就运行,用户通过这样的操作界面与设备交互。但这样做5存在的问题是用户无法在这样的设备上使用第三方基于开发的 标准应用程序(以下描述中也简称为应用程序),这是由于在WinCE操 作系统中,SHELL模块为用户提供了一个全屏的用户操作界面,如图l 所示。>\rmCE操作系统对基于WinCE的第三方应用程序的支持是通过 SHELL为用户提供的对基于WinCE的第三方应用程序操作和控制的机io制来实现的,如图2所示。基于WinCE的应用程序按照用户对其控制方式的不同可以分为两 类, 一类是当应用程序运行时会在WinCE的任务栏(Taskbar,即图1 中的T)产生窗口,用户通过对任务栏窗口的点击来实现对应用程序窗 口的激活和切换;另一类是程序运行时不在任务栏产生窗口,但在任务15栏的托盘图标区域生成一个托盘图标,用户通过对该图标的点击来激活 和隐藏窗口。第一种情况下,当基于WinCE的应用程序启动时,程序将运行信息 (窗口句柄、程序图标句柄等),以消息的形式发送到SHELL模块(代 码公开),在SHELL模块中有一子功能模块响应该消息并根据消息传递 20应用程序的运行信息,在WinCE任务栏创建与应用程序对应的应用程序 提示窗口,用户通过该窗口即可实现对应用程序窗口的激活和切换。第二种情况下,当基于WinCE的应用程序启动时,程序将与之对应 的托盘图标的资源ID及点击时的回传消息等信息,以消息的形式发送 到SHELL模块(代码公开),在SHELL模块中有一子功能模块响应该 25消息并根据消息传递的有关托盘图标的信息,在\^mCE任务栏的托盘区 域创建与应用程序对应的托盘图标,用户可以通过对该图标的点击来激 活和隐藏窗口。如图1所示,WinCE嵌入式操作系统通过Shell为用户提供了包括 桌面和任务栏的全屏操作界面,基于WinCE开发的标准应用程序运行时 通过发送消息的方式与Shell中的任务栏模块交互信息,在用户界面的 5任务栏窗口中建立已运行程序的提示窗口或托盘图标,使用户通过对任 务栏中的运行程序提示窗口或托盘图标的点击操作实现对应用程序界 面窗口激活和切换的控制。基于上述WinCE与应用程序交互管理的过程可以看出,如果选用 WinCE嵌入式操作系统的设备开发商在自己的设备中通过开发一个全 io屏的用户界面程序(桌面、任务栏)为用户提供一个个性化的操作界面, 那么WinCE原有的包括桌面和任务栏的全屏操作界面将被个性化的用 户界面替换,这样用户就无法再通过任务栏中的应用程序运行提示窗口 或托盘图标对第三方应用程序的界面窗口实现激活、切换、隐藏等操作 了。15 除WinCE外,与WinCE有着类似架构的嵌入式操作系统如:Pocket PC (微软为掌上电脑所设计的操作系统)、Windows Mobile (微软为智 能移动终端设备所设计的操作系统)等也同样存在着上述的问题。正是因为上述原因,目前市场上现有使用WinCE做嵌入式操作系统 的终端设备,为了兼容第三方应用程序的使用,要么如图1和图2所示20采用WinCE自带的类似PC的呆板的界面,使用户通过任务栏实现对第 三方应用程序窗口的激活、切换和隐藏的控制;要么采用折衷的方案, 如图3所示,保留^\TmCE的任务栏窗口部分,只把除任务栏以外的桌面 部分替换为设备开发商自己的个性化的用户界面窗口。这样一方面使用 户可以通过任务栏实现对第三方应用程序窗口的激活和切换的控制,另25 —方面设备开发商又可以为用户提供个性化的用户界面窗口,这个方案 中对第三方应用程序窗口的激活和切换的控制的方法与图1和图2所示\n的直接使用WinCE Shell提供的任务栏操作界面的方法是一致的,但这 样做的结果是:整个设备的用户界面中任务栏部分使用了 WinCE原有的 风格,原来的桌面部分被设备开发商提供的个性化的用户界面窗口替 换,这样整个设备的用户界面就变得不统一,极为不协调。发明内容本发明所要解决的技术问题是:克服现有技术嵌入式设备的用户界 面中任务栏部分只能使用嵌入式操作系统原有的风格,使用户界面不统 一、不协调或呆板的不足,提供一种嵌入式设备用户界面的实现方法, 10为用户提供个性化全屏的用户操作界面的同时,实现对第三方应用程序 窗口的控制。本发明为解决上述技术问题所采用的技术方案为: 这种嵌入式设备用户界面的实现方法,包括以下步骤: 设置基于嵌入式设备操作系统的全屏用户界面程序; 15 在嵌入式设备操作系统界面的任务栏模块中内嵌一个应用程序运 行信息转发模块,用于截获并转发第三方应用程序运行信息;所述的全屏用户界面程序设置有应用程序运行信息接收模块,所述 应用程序运行信息接收模块接收来自所述的应用程序运行信息转发模 块的消息,所述的全屏用户界面程序根据所述消息获取第三方应用程序 20运行信息,并根据这些信息更新用户操作界面。用户通过用户操作界面对第三方应用程序发出的控制信息由所述 的全屏用户界面程序直接发送给所述的第三方应用程序,或通过所述的 应用程序运行信息转发模块转发给所述的第三方应用程序。所述的应用程序运行信息转发模块位于任务栏模块的窗口消息处 25理函数内,第三方应用程序运行时,通过消息的方式将程序启动运行时\n的有关信息发送到所述的任务栏模块,嵌入在其中的应用程序运行信息 转发模块截获这些消息并将其连同包含程序运行信息的参数一起转发 到所述的全屏用户界面程序。所述的用于传递第三方应用程序运行信息的消息包括:5 HSHELL—WINDOW CREATED 、 HSHELL一WINDOWDESTROYED 、 WM一COPYDATA消息。所述全屏用户界面程序通过所述应用程序运行信息接收模块接收 的应用程序信息,全屏用户界面程序实时了解应用程序所处的状态以及 运行后的窗口句柄、标题或图标,对界面元素进行创建或更新。 io 所述的全屏用户界面程序中在全屏用户界面的上、下、左、右不同 的位置建立个性化的任务栏;或者在全屏窗口的某个区域设置对第三方 应用程序控制的窗口,对应己经启动的应用程序在该窗口内建立相应的 按钮、图标或者下拉式菜单。所述的嵌入式设备操作系统可以为Pocket PC、 Windows Mobile或 15 WinCE操作系统。本发明的有益效果为:本发明通过在WinCE界面模块中嵌入一个能 获取并转发第三方应用程序运行信息的模块,使得在第三方应用程序启 动运行时由该模块获取第三方应用程序运行时的信息并转发到嵌入式 设备的全屏用户界面程序,更新用户操作界面,从而使用户可以在具有20完全个性化全屏用户界面的嵌入式设备上,运行、控制基于WINCE等 嵌入式操作系统开发的标准的第三方应用程序,提高了设备的通用性。 此外,由于在本发明中使用了嵌入式设备开发商提供的全屏的用户 窗口界面,不再使用Wince等自带的包含桌面和任务栏的界面,这样原 Wince Shdl模块中为用户提供操作界面(桌面、任务栏)部分的代码就25可以进行有选择的裁减,只保留与转发程序运行信息有关的部分即可, 这样可以进一步减小嵌入式设备中整个软件系统编译后得到的NK.bin的\n尺寸,减少对设备资源的占用,提高系统在嵌入式设备中的运行效率。由于Pocket PC, Windows Mobile等嵌入式操作系统与WinCE操作 系统有类似的架构,本发明也适用于这些操作系统,实现简单易操作。5 附图说明图1为现有的WinCE提供的用户操作界面窗口结构示意图;图2为现有的WinCE为用户提供的操作界面原理示意图;图3为现有的采用用户界面程序窗口替换WinCE桌面并保留任务栏的操作界面实现原理示意图; io 图4为本发明全屏用户界面实现原理示意图;图5为本发明全屏用户界面程序中应用程序运行信息接收模块处理流程图;图6为应用程序运行信息转发模块在任务栏模块中的逻辑位置示意图。15具体实施方式下面根据附图和实施例对本发明作进一步详细说明: 如图4所示,本发明首先设置基于嵌入式设备操作系统WinCE的全 屏用户界面程序;在嵌入式设备操作系统界面WinCE Shell的任务栏20 (Taskbar)模块中内嵌一个应用程序运行信息转发模块,用于截获并转 发第三方应用程序运行信息;全屏用户界面程序接收来自应用程序运行 信息转发模块的消息,获取第三方应用程序运行信息,并根据这些信息 更新用户操作界面。比如在利用下拉式菜单的方式对己运行的应用程序 进行管理的情况下,就会在下拉式菜单中增加一个与新运行的应用程序25对应的菜单项,利用这些菜单项就可以进行不同应用程序窗口的激活和 切换。这样用户就可在不保留WinCE原有界面的情况下,通过嵌入式设\n备上完全个性化的用户界面实现对第三方应用程序的直接控制、管理。现有的基于WinCE开发的标准用户界面窗口的应用程序有两类:一 类是运行后在WinCE的任务栏创建一个提示窗口,另一类是运行后在 WinCE的任务栏的托盘图标区域建立一个图标,使用户可以通过对提示 5 窗口和托盘图标的点击实现对应用程序窗口的激活、切换、隐藏等控制。 第一类应用程序启动运行时向WinCE Shell界面的任务栏(taskbar) 模块发送一个HSHELL—WINDOWCREATED消息,通过该消息的LP 参数将程序运行时的有关信息(程序图标句柄、窗口句柄、窗口标题等) 传递到WinCE Shell界面的任务栏(taskbar)模块,由任务栏模块基于io接收到的程序运行时的有关信息在任务栏创建应用程序提示窗口,使用 户可以通过对该窗口的点击来对相应的应用程序进行控制;当已经运行 的应用程序关闭时,程序向WINCE Shell界面的任务栏(taskbar)模块 发送一个HSHELL—WINDOWDESTROYED消息到WINCE Shell界面的 任务栏(taskbar)模块,同时在LP参数中携带程序运行时的有关信息,15由任务栏模块基于接收到的程序信息将任务栏内对应于该程序的窗口 销毁。第二类应用程序启动运行时向WinCE Shell界面的任务栏(taskbar) 模块发送一个WM一COPYDATA消息,该消息的LP参数是一个指向 PCOPYDATASTRUCT结构实例的指针,该结构中除包含托盘图标的有 20 关信息外还有一个成员变量dwData,该变量的取值为NIM—ADD时,表 明此时有应用程序打开需要在托盘区域添加图标;该变量的取值为 NIM—DELETE时,表明此时有应用程序关闭需要从托盘区域删除相应的 图标。根据上述情况,本发明提供一个应用程序信息转发模块(如图4中 25 模块A),该模块置于WinCE Shell界面的任务栏(taskbar)模块中,逻 辑位置如图6所示,该模块的逻辑位置位于任务栏模块的窗口消息处理\n函数内(所有发到任务栏模块的消息都通过该函数接受和处理): LRESULT CALLBACK CTaskBar::TaskBarWndProc (HWND hwnd, UINT msg, WPARAM wp, LPARAM lp),用于截获并转发HSHELL一WINDOW CREATED、 HSHELL—WINDOWDESTROYED和WM—COPYDATA这5三个消息到全屏用户界面程序,同时应用程序窗口及托盘图标的有关信息也随消息的LP参数一起传递。全屏用户界面程序中的应用程序运行 信息接收模块(图4中模块B)作为嵌入式设备商开发的全屏用户界面 程序中的一部分,用于接收来自模块A转发的消息并通过这些消息的 LP参数获得应用程序的窗口及托盘图标的有关信息提供给全屏用户界 10 面程序的其他功能部分(如窗口界面更新部分)。当基于WINCE开发的标准应用程序运行时,借助于Wince操作系统的消息机制通过消息的方式将程序启动运行时的有关信息(窗口图 标、窗口句柄、窗口标题、托盘图标等)发送到WINCE Shell界面的任 务栏(taskbar)模块,嵌入在其中的模块A截获这一消息并将其连同包15含程序运行信息的LP参数一起转发到设备开发商的全屏用户界面程序, 位于该界面程序中的模块B(处理流程图如图5所示)接收由模块A转 发的消息从这些消息的LP参数中获得程序运行信息并提供给全屏用户 界面程序的其他功能部分(如窗口界面更新部分),通过这些应用程序 信息全屏用户界面程序就可以实时了解应用程序所处的状态(运行、关20闭)以及运行后的窗口句柄、标题、图标等,然后通过全屏用户界面需 求方案中确定的为用户提供对第三方应用程序控制的策略对界面元素 进行创建或更新。在Wince的消息机制中一个消息带两个参数:LP参数、WP参数。 系统在传递应用程序信息的时候只使用了 LP参数,但应用程序运行信25息转发模块在转发的时候也可以将应用程序信息放在WP参数中转发。 如图5所示,模块B的处理流程如下:\n1、 接受来自模块A的消息;2、 判断是否创建窗口消息;如果是,则获取应用程序窗口信息; 否则,判断是否创建托盘图标消息,如果是则获取应用程序托盘图标信 息;5 3、将程序信息提供给用户界面控制部分进行处理。全屏用户界面方案中为用户提供的对第三方应用程序控制的策略 可有多种选择,例如:1、可以类似WINCE的任务栏在全屏用户界面的上、下、左、右不 同的位置建立个性化的"任务栏"; 10 2、可以在全屏窗口的某个区域设置对第三方应用程序控制的窗口,对应已经启动的应用程序在该窗口内建立相应的按钮、图标或者下拉式 菜单等。用户可以通过这些个性化的全屏用户操作界面对应用程序进行控 制,其发出的操作、控制信息(激活、切换、隐藏窗口等)则可由全屏15用户界面程序基于接收到的相应的程序运行信息(应用程序窗口句柄、 标题等)直接发给第三方应用程序;当然还可以通过模块A转发到第三 方应用程序,但是这样会增加模块A实现的复杂度,降低了运行稳定性。 通过这样的过程,用户就可以在具有完全个性化全屏用户界面的嵌入式 设备上,运行、控制基于WINCE开发的标准的第三方应用程序,提高20 了设备的通用性。此外,由于在该方案中使用了嵌入式设备开发商提供的全屏的用户 窗口界面,不再使用Wince自带的包含桌面和任务栏的界面,这样原 Wince Shdl模块中为用户提供操作界面(桌面、任务栏)部分的代码就 可以进行有选择的裁减,只保留与转发程序运行信息有关的部分即可,25这样可以进一步减小嵌入式设备中整个软件系统编译后得到的NK.bin的 尺寸,减少对设备资源的占用提高系统在嵌入式设备中的运行效率。\n由于PocketPC, WindowsMobile等嵌入式操作系统与WinCE操作系统有类似的架构,该发明方案完全适用于这些操作系统,实现简单易操 作。本领域技术人员不脱离本发明的实质和精神,可以有多种变形方案 实现本发明,以上所述仅为本发明较佳可行的实施例而已,并非因此局 5限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效变 化,均包含于本发明的权利范围之内。
法律信息
- 2008-02-27
- 2006-12-20
- 2006-10-25
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
2000-04-17
| | |
2
| |
2003-10-29
|
2000-04-17
| | |
3
| |
2002-07-10
|
2000-04-25
| | |
4
| |
2002-12-04
|
2001-04-25
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2011-08-29 | 2011-08-29 | | |
2 | | 2011-11-02 | 2011-11-02 | | |