当前位置:编程学习 > 网站相关 >>

如何定制Windows Embedded Compact 7 shell详解(上)

1.定制Windows Embedded Compact 7  shell
 
Shell 是用户访问操作系统的接口。Shell 开发在 Windows Embedded Compact 7操作系统开发中占据一定的重要性。对Windows Embedded Compact 7  Shell 进行了概述,并通过建立 Shell 模型,讲述如何自定制Windows Embedded Compact 7  和定制Shell 必须注意的问题,对 Windows Embedded Compact 7  Shell 的定制进行深入研究。
 
1.1  可定制的Windows Embedded Compact 7 Shell
 
1.1.1  什么是Shell
 
Windows Embedded Compact 7  Shell 为用户运行设备商的应用程序和管理 Windows Embedded Compact 7  操作系统对象提供了一个接口,这些对象既可以是位于目标设备上的实际对象,如文件和文件夹,也可以是虚拟对象,如回收站。Windows Embedded Compact 7 Shell 是 Windows Embedded Compact 7  操作系统主要的图形用户接口,是Windows Embedded Compact 7  启动后的第一个图形界面窗口。标准的Windows Embedded Compact 7  Shell 包括众所周知的,如任务栏和开始菜单的 Windows 组件。由于不同嵌入式设备对系统和应用的要求不同,因此嵌入式设备需要自定制系统。Windows Embedded Compact 7  允许开发者对 Shell 进行定制,允许开发者为自己的目标设备实现简单的命令行接口,或是完全定制的图形用户接口 Shell。由于 Windows Embedded Compact 7  Shell定制是 Windows Embedded Compact 7  系统定制中最具特色的一部分,Shell 的定制尤显重要。
 
1.1.2  Shell模块和组件
 
表1-1对实现Windows Embedded Compact 7 Shell的模块和组件进行了总结。
 
表1-1 Shell模块和组件
 
Shell条目
 
模  块
 
组  件
 
Shell
 
Coredll( Shell API)
 
accel_c, rectapi, wmgr_c mgdi_c, shcore, shortcut shexec,  shmisc,  fileopen  fileinfo,   Shellapis.
 
Commdjg (常用对话框)
 
Nonc
 
Commctrl(常用控件)
 
toolbar. updown. stacus. Propsheet listview. creeview, dace.tab. Progress. trackbar. capedit rebar, cmdbar, dsa, tooltips
 
Srandard Sbell
 
Cplmain(主控制面板)
 
network, datetime, keyboard, password. Owner, power system, display, pointercmn. mouse
 
control(控制面板的架构)
 
None
 
ctlpnl (控制面板的文件夹视图)
 
None
 
asform(手持PC Shell支持)
 
None
 
ceshell {Windows Shell)
 
None
 
explorer(资源管理器)
 
None
 
Taskman  Stmple  Shell
 
mskman(任务管理器)
 
None
 
Wtndows Thin C Lient SheLl
 
ceshell(手待PC Shell支持)
 
None
 
ctUpnt (控制面板的文件火视图)
 
None
 
表1-2是用于Windows Embedded Compact 7 Shell的SYSCGEN变量。
 
表1-2Shell的SYSGEN变量
 
SYSGFN变量
 
描述
 
SYSGEN_AYG SHELL
 
用于在Windows Embedded Compact 7 OS 中包含AYGShell API扩展,用于支持在 Windows Embedded Compact 7上运行Pockel PC Shell应用程序
 
SYSGEN_COMMCTRL
 
用于在Windows Embedded Compact 7 OS 中包含常用控制功能
 
SYSGEN_ COMMCTRL_ANIMATE
 
用于在Windows Embedded Compact 7 OS 中包含动画控制功能
 
SYSGEN_COMMDLG
 
用于在Windows Embedded Compact 7 OS中添加对带用对话框的支持
 
SYSCTEN_CTLPNL
 
用于在Windows Embedded Compact 7 OS中添加对控制面板的支持
 
SYSGFN_PPS
 
用于使Windows Embedded Compact 7 OS支持控制选项B.使Windows Embedded Compact 7 OS 中的一些Pocket PC控件与Windows Embedded Compact 7设备兼容。控件选项B为默认支持Windows Embedded Compact 7 标准控件的选项
 
SYSOEN_QVGAP
 
用于在Windows Embedded Compact 7OS中添加对竖向VGA资源(竖放模式)的支持
 
SYSOEN_STANDARDSHELL
 
用于在Windows Embedded Compact 7 OS中包含标准Shell功能
 
SVSGEN_WBTSHELL
 
用于在Windows Embedded Compact 7 OS中包含瘦客户端Shell功能
 
1.2  Windows Embedded Compact 7提供的Shell选项
 
Platfo rm B uilder提供了三个Shell选项:
 
·  命令行Shell(Command Shell);
 
·  标准Shell(Standard Shell);
 
·  Windows瘦客户端Shell(Windows Thin Clicnt Shell);
 
任务管理器例Shell(Taskman Sample Shell)。为了为基于Windows Embedded Compact 7的设备提供一个Shell,开发者可以选择上述Platform Builder提供的任何一个Shell或者以这几种Shell为基础开发自己定制的 Shell。
 
1.2.1  Windows Embedded Compact 7命令行Shell
 
对于许多设备,包括那些没有显示的设备,Windows Embedded Compact 7包含了一个类似于Windows2000/XP下的Cmd.exe的命令行处理器Shell,它是一个提供了有限儿个命令的命令行驱动的Shell。为了在一个特定的平台上实现命令行处理器Shell,需要在这个平台的Cesysgen.bat文件中包含Cmd和ConSole组件。为了使用命令行处理器作为一个没有显示设备的命令行接口,可以通过配置命令行处理器来操作串口。下面的例代码展示了如何通过设置注册表值来允许命令行处理器通过串口进行操作。
 
    {HKEY_LOCAL_MACHINE\Drivers\Consolc}
 
         OutputTo= REG _DWORD:1    ∥将CMD重定向到COMI
 
         COMSpeed= REG_DWORD:19200    ∥串口连接的速度
 
除非明确地将所有控制台应用程序的输入和输出配置为重导向到一个文件或其他设备,否则这些注册表设置将所有控制台应用程序的输入和输出配置为重导向到串口。
 
控制台应用程序没有图形用户界面并限于使用标准的c语言库I/O函数,例如从命令行读/写字符的printf相getc函数等。
 
1.2.2 标准Shell
 
Windows Embedded Compact 7标准Shell是由Windows Embedded Compact 7 早期版本的手持PC Shell(被称为HPCShell)发展过来的,类似于基于Windows桌面操作系统的Shell,它为访问文档、运行应用程序、任务之间切换、浏览文件系统和执行其他的服务提供了一个熟悉的界面,为了将它包含到开发者基于Windows Embedded Compact 7的设备,需要将“Standard Shell”组件添加到操作系统设计中。
 
标准Shell支持240×320(QVGA)或者更大的屏幕显示分辨率,并支持Windows Embedded Compact 7标准CDK。
 
Platform Builder在﹪_WINCEROOT﹪\Public\Shell\OAK\HPC 文件夹下提供了标准Shell的源代码,这些源代码已经被集成到了所有文件标准Shell的操作系统设计里面,一般建议用户不要修改这些源代码。在进行操作系统的设计时,当在“New Platform”向导的“Available design templatcs”列表中选择了“Enterprise Web Pad”、 “Intemet Appliance”或“Set—top Box”时都会默认加载标准Shell。在操作系统启动时,标准shell作为一个进程Explocr.exe被加载。
 
1.2.3  Windows 瘦客户端Shell
 
Windows瘦客户端有时也被叫做基于Windows的终端(Windows-Based Terminal.WBT),在我国也被称为网络计算机,它是一种以服务器为中心的客户端/服务器(C/S)网
补充:综合编程 , 其他综合 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,