组件利用Delphi编写Windows控制面板组件及实例(电子通信范文)

控制面板  时间:2021-02-26  阅读:()

封面

《利用D elphi编写Windows控制面板组件及实例》

Word格式可编辑含目录

精心整理放心阅读欢迎下载

文档信息

利用Delphi编写Windows控制面板组件及实例

目录

一、控制面板组件基础知识

二、控制面板组件工作流程

1、每个CPL文件必须输出一个CplApplet函数

2、当把各CPL 或DLL调入内存时

3、 CPL_INIT消息处理结束后

4、 CPL_GETCOUNT消息处理结束后

说明

5、控制面板显示所有查找到的组件图标

说明

6、控制面板关闭时

三、控制面板组件编写实例

1、编程步骤

0 KEY_ALL_ACCESS KeyHandle)

0: :=0;

1: :=1 ;

2: :=2;

3: :=3;

0: :=0;

1: :=1 ;

2: :=2;

3: :=3;

正文

张建军中国人民解放军合肥炮兵学院研究生系 级

韩莹 中保财险安徽省铜陵市分公司计财部

关键词 在Windows95/NT/98操作系统中控制面板ControlPane l提供了定制Windows的操作方法通过它可以完成设置打印机、显示、 网络、添加新硬件等功能。通常控制面板包含 多个组件*.CPL 分别负责系统某一方面的设置。 鼠标双击任一组件图标控制面板调用相应程序弹出对话框允许设置系统参数。确认修改后系统参数保存在Windows注册表或某一配置文件*. INI中。

一、控制面板组件基础知识

控制面板是一个Wi n dows应用程序C:\WI NDOWS\其配置文件是

C:\W IND OWS\。控制面板组件是一些动态链接库其扩展名不是DLL而是CPL。通常控制面板组件保存在C:\WI NDOWS\SYS TEM\目录下。

在中有一个[MMCPL]节该节可指定由调用的动态链接库其格式一般为

[MMCPL]uniqueName=D:\ 这里假设PROJECT1为用户编写的控制面板组板文件

名其访问路径可由读者自行确定

采用此方法不必存放在C:\W I ND OWS\SY ST EM\目录下扩展名不必改为CPL。运行后按以下顺序调用这些动态链接库

在C:\WINDOWS\SYSTEM\目录下调用。 已加载并输出Cp lApple t()函数的可安装驱动程序。 在[MMCPL]节中指定的DLL。 在

C:\W INDOWS\SYSTEM\目录下调用CPL。 因此编写控制面板组件近似于编写普通DLL。通常一个CPL支持控制面板中的一个组件即一个图标 也可支持多个组件。本文介绍利用Delphi编写CPL、扩充控制面板组件一个CPL支持一个或多个组件的方法。

二、控制面板组件工作流程

1、每个CPL文件必须输出一个CplApplet函数与之间传递、处理消息。 Cp lApplet函数的原形是type

TCPLApp let = funct i on (hwndCPl: THandle; uMsg: DWORD;lParam1 lParam2: Longint) : Longint; stdcall ;

其中 hwndCPl是控制面板窗口句柄 uMsg是消息标识l Par am 1、 l Par am2是两个附加参数具体意义视uM s g的值而定。

2、当把各CPL 或DLL调入内存时立刻向CPLApp let发送一条CPL_INIT消息要求CPL执行全局初始化并分配内存。 CPL_INIT是唯一可以返回调用失败的消息。如果初始化成功 CPL返回非零否则返回零。如果CPL返回零控制面板终止与CPL通信并卸载此CPL 或DLL

3、 CPL_INIT消息处理结束后立刻向CPLAppl et发送一条C PL_GET COUNT消息 CPL返回支持的组件数。

4、 CPL_GETCOUNT消息处理结束后立刻向CPLApp l et发送一条C PL_NEW INQU I RE消息 CPL_NEWINQU I RE每次发送一条 以取得每个组件的图标、名称、提示内容显示在控制面板的状态栏等信息。l Par am1是指定对话框的数值该值应在0到(CPL_GETCOUNT - 1)之间。如果CPL_NEWINQU I RE处理成功返回0。

说明

◆在系统中发送的是CPL_INQUI RE消息。为向下兼容该消息被保留。基于W in32的CPL应使用CPL_NEW INQUI RE。

◆通过判断l Param1的值可对一个CPL支持的多个组件的图标、名称、提示内容等进行控制。

5、控制面板显示所有查找到的组件图标。 鼠标双击任一组件图标控制面板向其CPL发送一条CPL_DBLCLK消息 CPL显示相应对话框供用户改变系统设置。

说明

◆通过检测l Param1的值可判断用户双击的是一个CPL支持的多个组件中的哪个图标并运行相应程序。

6、控制面板关闭时 向每个组件发送一条CPL_STOP消息然后对每个CPL发送一条CPL_EXIT消息 CPL释放内存并卸载。

三、控制面板组件编写实例

1、编程步骤

在Delphi IDE中选取菜单File-New-DLL-OK。

②在Proj ect1中添加如图所示Form1、 Form2„„根据需要设计窗体界面。为简略起见本文仅以Form1为例。

③Form1主要代码 为编写基于Win32的CPL本文以读写Windows注册表为例

在uses子句添加:Registry。引用注册表单元在type部分声明变量 var

Form 1: TForm1 ;

KeyHand l e : HKEY;

ValSize : longint;

Option1 : Integer;

Option2 : Integer;

代码打开Windows注册表读取某特定键值procedure (Sender:TObject)begin

R egOpenKeyEx(HKEY_CURRENT_CONFI G

'Software\Microsoft\windows\CurrentVeion\

0 KEY_ALL_ACCESS KeyHand l e)

ValSize := SizeOf(Option1)

RegQueryValueEx(KeyHandle 'WinA'  nil nil @Option1@ValSize)

ValSize := SizeOf(Option2)

RegQueryValueEx(KeyHandle 'WinB'  nil nil @Option2@ValSize)with Form1 do begincase Option1 of

0: :=0;

1 : :=1 ;

2: :=2;

3: :=3;end;case Option2 of

0: :=0;

1 : :=1 ;

快快云:香港沙田CN2/美国Cera大宽带/日本CN2,三网直连CN2 GIA云服务器和独立服务器

快快云怎么样?快快云是一家成立于2021年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,快快云目前提供有香港云服务器、美国云服务器、日本云服务器、香港独立服务器、美国独立服务器,日本独立服务器。快快云专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经验,遍布亚太地区的海量节点为业务推进提供强大...

搬瓦工VPS:高端线路,助力企业运营,10Gbps美国 cn2 gia,1Gbps香港cn2 gia,10Gbps日本软银

搬瓦工vps(bandwagonhost)现在面向中国大陆有3条顶级线路:美国 cn2 gia,香港 cn2 gia,日本软银(softbank)。详细带宽是:美国cn2 gia、日本软银,都是2.5Gbps~10Gbps带宽,香港 cn2 gia为1Gbps带宽,搬瓦工是目前为止,全球所有提供这三种带宽的VPS(云服务器)商家里面带宽最大的,成本最高的,没有第二家了! 官方网站:https...

弘速云香港VPSVPS线路有CN2+BGP、CN2 GIA,KVM虚拟化架构,裸金属月付564元

弘速云怎么样?弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港vps、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统。点击进入:弘速云官方网站地址...

控制面板为你推荐
fontfamilyfont-family:ms shell dlg是什么意思?微信如何建群微信可以建立两个人的群吗?有一个是自己商标注册查询官网全国商标注册查询在哪里查呀?二层交换机什么是二层交换机网管工具网吧工具有什么?网站优化方案几种常用的网站优化方法网站地图制作网站地图 怎么制作?去鼠标加速度去鼠标加速到底有什么好处.......价格在线有三种商品:第一种价格为54.91第二种价格为33.18第三种价格为61.62,也就是说怎么卖这三种商品才会等于2027.98。可以只卖两种,每种可以卖多份,在线等,麻烦大家了火狐flash插件崩溃火狐Flash插件经常崩溃
免费云主机 成都主机租用 vps租用 mediafire下载工具 paypal认证 回程路由 patcha 服务器cpu性能排行 ev证书 免费网络电视 发包服务器 idc资讯 免费活动 100m独享 免费高速空间 美国免费空间 联通网站 空间首页登陆 空间登录首页 smtp虚拟服务器 更多