CPL_EXIT 这个消息是你进行善后工作的最后机会,即在应用程序调用FreeLibray函数之前时你可以进行一些善后工作,如:释放内存等
━━━━━━━━━━━━━━━
提示: 上表所列出的消息顺序也正是CPL程序收到的消息的顺序,即CPL程序是按照CPL_INIT, CPL_GETCOUNT到CPL_EXIT来完成相应的任务的.
如果你对上面的描述还感到抽象的话,下面我就已一个实际的例子来说明到底是如何建立控制面板的应用程序。
操作步骤如下:
1:建立资源文件以便在程序中使用,下图是用Borland Resoure Workshop制作ctrl.rc的情形。
图1-1 编辑资源文件
提示:1、2表示字符串与图标资源的代号,你也可以去别的名称做好后你可以利用brcc32.exe 将其编译为res资源文件命令如下:
brc32 ctrl.rc
这样将的到ctrl.res编译后的资源文件,当然你也可以直接利用Borland Resoure Workshop建立Res格式的文件,省去编译这一环节
2:打开你的BCB,通过DLL Wizard建立一个DLL工程(因为CPL程序就是DLL文件)
3:导出CPLApplet函数,这是最重要的,其它的操作和别的程序没有区别
4:从菜单中选取”Project / Options”选项,在“Project Options”选项对话框中将Application页面的“Target file extension”改为“cpl”
提示:
由于该程序不是可执行文件,所以不能按F9运行,必须通过控制面板或rundll32.exe来运行,首先将其CPL文件Copy到系统目录下,然后利用控制面板来运行或者rundll32.exe来运行,命令如下:rundll32 shell32.dll Control_RunDLL *.cpl
源程序如下:
#include
#include
#pragma hdrstop
//导入控制面板程序相关的头文件
#include
#pragma resource "ctrl.RES"
//导出CPlApplet函数
extern "C" __declspec(dllexport) LONG _stdcall CPlApplet(
HWND hwndCPl,
UINT uMsg,
LONG lParam1,
LONG lParam2
);
//实现CPlApplet函数
LONG _stdcall CPlApplet(HWND hwndCPl,UINT uMsg,LONG lParam1,LONG lParam2)
{
|
正在阅读:深入编程:控制面板知多少(上)深入编程:控制面板知多少(上)
2004-05-18 14:44
出处:CSDN
责任编辑:linjixiong
键盘也能翻页,试试“← →”键