admin管理员组文章数量:1516870
Windows 控制面板编程
说明:本文章为本人在做项目时查阅相关文章而写成,如有不当之处,请指出。
mail:
关键字:
控制面板,控制面板应用程序,
一、 什么是控制面板
打开 Windows 的控制面板会看到类似的图像
图一
双击其中的一个图标,会显示对话框,让用户来完成相应的软硬件设置工作。这就是我们看到的控制面板。那么如何开发控制面板程序呢?带着疑问在 MSDN 和 google 里搜索关键字“ Control Panel ”,就会找到相关的技术文章。这是我工作的方法:借鉴已有的资源。但实际情况是那样吗?我们可以跟着 MSDN 的讲述来一步一步深入下去。
经过挖掘,发现并不是 exe 文件( Windows Vista 下支持 exe 的控制面板应用程序,并且微软建议做成 exe 文件),而是有着 cpl 后缀名的文件,在 windows - >system32 下可以找到这样的文件。如果借助工具, Dependency Walker for Win32 (x86) 或 dumpbin 等就可以看到该文件导出了一些函数。
图二
多观察几个这样的文件,发现导出的函数虽有差异,但其中都有 CPLApplet 函数被导出。这些特征与 DLL 的特征吻合。去 MSDN 上查阅 CPLApplet 函数的说明证明我们的猜测是正确的。可以说控制面板应该程序就是以 CPL 为后缀名并且一定要导出 CPLApplet 函数的 dll 文件。
对于具体的描述可以参考:
二、 明确几个概念
l 控制面板管理程序: 用于管理控制面板的程序,在桌面 windows 版本是 CONTROL.EXE ,在 windows CE 版本是 CTLPNL.EXE ,它们负责管理控制面板里的控制面板条目。简单的说,我们打开控制面板时,这些管理程序就在运行了。只不过我们看到的是挂上了 Shell 外观而已( 注:这是我的猜测,还没有找到依据 )。
l 控制面板条目( Control Panel Item ): 在控制面板里看到的每个图标所对应的就是一个控制面板条目。
l 控制面板应用程序( Control Panel Application ): 就是最终看到的 CPL 文件,一个控制面板应用程序可以实现几个控制面板条目。
三、 控制面板应用程序的编写
编写控制面板应用程序,就是编写 dll 文件,在该文件中实现控制所需要的功能。这就涉及到一个不得不说的函数,没有它就无法完成控制面板程序的实现。该函数为 CPLApplet
版权声明:本文标题:Windows控件大挑战:做了面板,程序去哪儿了? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.betaflare.com/biancheng/1772660783a3276278.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论