摘要载入中… 请稍等…
内容载入中… 请稍等…
| ◎→ | 本类最新 |
|
在DELPHI中映射网络驱动器 在Delphi中实现对目录拷贝、删除 在Delphi中接受文件拖放 在Delphi中定位文件位置 用代码打开屏幕保护 用Delphi编程得到OS的类型 用Delphi编码实现程序自启动 |
|
| ◎→相关资源 | |
| C语言入门视频教程 C#编程WinForm入门视频 Asp.net入门视频教程下载 VC++编程视频教程下载 VB窗体文章 HTML入门教程 Deiphi实例教程 Deiphi窗体文章 Deiphi数据库编程 Deiphi网络编程 Deiphi图形图象文章 Deiphi系统文件 | |
| ◎→ | 热门资源 |
| Listview中实现点击栏目标题排序 Microsoft Agent技术在Delphi中的 MIDAS中动态强制约束编程 Chuck Jazdzewski的离开意味着De COM程序编写入门(三) OICQ中用户图标选择的实现 DELPHI中利用对象的常用属性制作 |
|
当我们打开“控制面板”以后,能看到许多项目,如:系统、
显示器等。不过,这些项目并非指向某些可执行的程序,其实,它
们是一些特殊的动态链接库,在Windows里注册的类型是“控制面板
扩展”,文件的扩展名是“CPL”。
这种“控制面板扩展”与普通动态链接库(DLL)类似,但必须
符合以下的要求:
1.该动态链接库必须输出一个CplApplet函数,这个函数包含了
一些消息,函数的原型如下:
function CPlApplet(hwndCPL: HWND; uMsg: UINT;
lParam1: LPARAM; lParam2: LPARAM): LongInt; stdcall;
2.该动态链接库的扩展名是“CPL”,位于Windows的系统目录
下,通常是“\Windows\System”;
3.函数CplApplet必须处理的消息包括:CPL—INIT、CPL—
GETCOUNT、CPL—NEWINQUIRE、CPL—DBLCLK等:
CPL—INIT:表示程序被(控制面板)发现,返回True或False
表示是否继续进行下去。
CPL—GETCOUNT:确定程序在控制面板中显示的个数,返回值为
显示的个数。
CPL—NEWINQUIRE:用于填写程序的信息。
CPL—DBLCLK:当图标被双击时触发,这时可以显示一个Form。
在Delphi中新建一个工程,选择“DLL”,Delphi就会自动创建
一个动态链接库的框架,先把这个工程存为“myCPL.dpr”,然后新
建一个Form,保存为main.pas。
myCPL.dpr的内容如下:
library mycpl;
uses
Windows,
SysUtils,
CPL,
Forms,
main in ′main.pas′ {MainForm};
{$E cpl} //表示扩展名是CPL
{$R *.res}
function CPlApplet(hwndCPL: HWND; uMsg: UINT;
lParam1: LPARAM; lParam2: LPARAM) : LongInt; stdcall;
var
pNewInfo: PNewCPlInfo;
begin
case uMsg of
CPL—INIT:
begin
Result := 1;
end;
CPL—GETCOUNT:
begin
Result := 1;
end;
CPL—NEWINQUIRE:
begin
pNewInfo:=PNewCPlInfo(lParam2);
with pNewInfo^ do
begin
dwSize:=sizeof(TNewCPLInfo);
dwFlags:=0;
StrPLCopy(szName,′新建项目′, 31);
StrPLCopy(szInfo, ′我的选项′, 63);
end;
end;
CPL—DBLCLK:
begin
with TMainForm.Create(Application) do
ShowModal;
Result:=0;
end;
end;
end;
exports
CPlApplet;
begin
end.
把编译好的mycpl.cpl拷贝到Windows的System目录下后,打开
“控制面板”,你会发现多了一个“新建项目”,用鼠标选中,窗
口的状态栏显示:“我的选项”。用鼠标双击,一个Form就显示出
来,剩下的事情就不用多说了。
以上程序在Windows 95、Delphi 4.0下运行通过。
| 芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们 |