⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 创建“控制面板”的新项目 (2001年1月8日).txt

📁 delphi 编程技巧
💻 TXT
字号:
创建“控制面板”的新项目 (2001年1月8日) 

网友更新  分类:系统   作者: nbwzw(推荐)  推荐:nbwzw   阅读次数:353  
(http://www.codesky.net)  

--------------------------------------------------------------------------------

  当我们打开“控制面板”以后,能看到许多项目,如:系统、显示器等。不过,这些项目并非指向某些可执行的程序,其实,它们是一些特殊的动态链接库,在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就显示出来,剩下的事情就不用多说了  
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -