- 7
- 0
- 约1.26千字
- 约 3页
- 2016-12-03 发布于天津
- 举报
利用Delphi编写Windows控制面板组件及实例
利用Delphi编写Windows控制面板组件及实例
? 张 建 军(中国人民解放军合肥炮兵学院研究生系97级)
韩 莹 (中保财险安徽省铜陵市分公司计财部)
关键词: ??? 在Windows95/NT/98操作系统中,控制面板(Control Panel)提供了定制Windows的操作方法,通过它可以完成设置打印机、显示、网络、添加新硬件等功能。通常控制面板包含20多个组件(*.CPL),分别负责系统某一方面的设置。鼠标双击任一组件图标,控制面板调用相应程序,弹出对话框,允许设置系统参数。确认修改后系统参数保存在Windows注册表或某一配置文件(*.INI)中。
??? 一、控制面板组件基础知识
??? 控制面板是一个Windows应用程序C:\WINDOWS\,其配置文件是C:\WINDOWS\。控制面板组件是一些动态链接库,其扩展名不是DLL,而是CPL。通常,控制面板组件保存在C:\WINDOWS\SYSTEM\目录下。在中有一个[MMCPL]节,该节可指定由调用的动态链接库,其格式一般为:
...
[MMCPL]
uniqueName=D:\(这里假设PROJECT1为用户编写的控制面板组板文件
名,其访问路径可由读者自行确定)
...
采用此方法,不必存放在C:\WINDOWS\SYSTEM\目录下,扩展名不必改为CPL。运行后按以下顺序调用这些动态链接库:
在C:\WINDOWS\SYSTEM\目录下调用。 已加载并输出CplApplet()函数的可安装驱动程序。 在[MMCPL]节中指定的DLL。 在C:\WINDOWS\SYSTEM\目录下调用CPL。 ??? 因此,编写控制面板组件近似于编写普通DLL。通常一个CPL支持控制面板中的一个组件(即一个图标),也可支持多个组件。本文介绍利用Delphi编写CPL、扩充控制面板组件(一个CPL支持一个或多个组件)的方法。
??? 二、控制面板组件工作流程
??? 1、每个CPL文件必须输出一个CplApplet函数,与之间传递、处理消息。CplApplet函数的原形是:
type
TCPLApplet = function (hwndCPl: THandle; uMsg: DWORD;
lParam1, lParam2: Longint): Longint; stdcall;
??? 其中,hwndCPl是控制面板窗口句柄,uMsg是消息标识,lParam1、lParam2是两个附加参数,具体意义视uMsg的值而定。
??? 2、当把各CPL(或DLL)调入内存时,立刻向CPLApplet发送一条CPL_INIT消息,要求CPL执行全局初始化并分配内存。CPL_INIT是唯一可以返回调用失败的消息。如果初始化成功,CPL返回非零,否则返回零。如果CPL返回零,控制面板终止与CPL通信并卸载此CPL(或DLL)。
1 / 1
1 / 1
您可能关注的文档
最近下载
- 2024-2025学年统编版道德与法治六年级下册全册教案(教学设计).pdf VIP
- 环保在线监测系统运行维护管理体系.pdf VIP
- 冯巧根 管理会计(第4版)课后习题答案.docx VIP
- 医疗废物岗位职责.docx VIP
- 最新人教版三年级数学下册全册教案(新课标版).docx VIP
- 基于单片机的火灾报警及灭火系统.docx VIP
- 基于单片机的灭火机器人设计.doc VIP
- 安徽省定远县2025年上半年事业单位公开招聘试题含答案分析.docx VIP
- 小学数学教学中数学建模思想与生活问题解决课题报告教学研究课题报告.docx
- 中国糖尿病防治指南(2024版)解读-糖尿病相关技术.pptx
原创力文档

文档评论(0)