windows mobile控制面板程序

 

图片


  什么是控制面板程序?看到下图就一目了然了。控制面板应用程序是一个以cpl为后缀的文件,其实是个dll文件(把项目生成的dll文件后缀改为cpl,或者从VS中修改配置直接生产cpl文件)。部署控制面板程序非常简单,直接把生产的cpl文件Copy到手机的Windows目录下即可。当你点击自己编写的控制面板程序的图标时,ctlpnl.exe进程会加载Windows目录下对应的cpl文件。

 

                                    clip_image002clip_image002[5]clip_image002[8]

 

                                   clip_image002[1]clip_image002[3]

 

 

其实系统自带的一些控制面板程序被集成在cplmain.cpl中(但是像无线管理器等并不是cpl文件,而是一个exe程序,这个可以从注册表中找到设置,微软这么设计的原因是因为无线管理器在很多地方都是需要的。),所以如果你需要在你的程序中打开这些面板的话会经常看到如下代码:

 
         
 
         

以下是更多对应关系:
ctlpnl.exe cplmain.cpl,1 - set password
ctlpnl.exe cplmain.cpl,2 - set ownerinfo
ctlpnl.exe cplmain.cpl,3 - battery status
ctlpnl.exe cplmain.cpl,4 - memory status
ctlpnl.exe cplmain.cpl,5 - about
ctlpnl.exe cplmain.cpl,7 - align
ctlpnl.exe cplmain.cpl,8 - keyboard settings
ctlpnl.exe cplmain.cpl,9 - sound
ctlpnl.exe cplmain.cpl,10 - remove programs
ctlpnl.exe cplmain.cpl,11 - start menu
ctlpnl.exe cplmain.cpl,12 - button assignments
ctlpnl.exe cplmain.cpl,13 - today screen
ctlpnl.exe cplmain.cpl,15 - beam settings
ctlpnl.exe cplmain.cpl,16 - clock
ctlpnl.exe cplmain.cpl,17 - network adapters
ctlpnl.exe cplmain.cpl,18 - regional settings
ctlpnl.exe cplmain.cpl,19 - connections
ctlpnl.exe cplmain.cpl,20 - phone settings
ctlpnl.exe cplmain.cpl,22 - manage certificates
ctlpnl.exe cplmain.cpl,23 – bluetooth

言归正传开始介绍cpl的编写

cpl文件中的回调函数CPlApplet为ctlpnl.exe进程进入你的cpl的入口点(需要导出,不管你在def文件里面,还是在函数前制定dllexport属性),一个cpl可以支持多个applets,见下面的代码中的注释。

 
         

msg有:

CPL_INIT
初始化,控制面板应用程序此时做一些全局的初始化工作,如内存分配。

CPL_GETCOUNT
获取控制面板应用程序支持的dialog boxes个数。

CPL_NEWINQUIRE
查询控制面板应用程序的dialog boxes的信息,信息包含在lParam2参数中,使用(LPNEWCPLINFO) lParam2获得指针。

 
         
 
         
 
         

 

CPL_IDNAME
获得控制面板应用程序的名称,通过设置注册表键值[HKEY_LOCAL_MACHINE\ControlPanel\<ID name>]可以改变应用位于控制面板属性页的位置,主键值"Group"默认为dword类型1,也就是说当你不指定位置时,默认放在系统这个tab中。另外还有如下值可以选择:
0               
Personal
1 (default value)    System
2                            Connections

CPL_DBLCLK
当用户双击控制面板上的icon时,系统会发送这个消息给你的控制面部应用程序,此时你可以弹出一个dialog box。处理完这个消息之后返回0表示你成功处理这个消息了(其它消息也一样),非0表示其它。

CPL_STOP
关闭控制面部应用程序之前那一刻发送这个消息给你的控制面板应用程序。

CPL_EXIT
释放DLL文件之前那一刻发送这个消息给你的控制面板应用程序。

 
         
 
         
 
         
 
         
 
         
 

转载于:https://www.cnblogs.com/chuncn/archive/2009/09/14/1566045.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值