创建“控制面板”的新项目

请妳叫我女汉纸

请妳叫我女汉纸

2016-01-29 14:17

创建“控制面板”的新项目,创建“控制面板”的新项目
 

  当我们打开“控制面板”以后,能看到许多项目,如:系统、显示器等。不过,这些项目并非指向某些可执行的程序,其实,它们是一些特殊的动态链接库,在Windows里注册的类型是“控制面板扩展”,文件的扩展名是“CPL”。

  这种“控制面板扩展”与普通动态链接库(DLL)类似,但必须符合以下的要求:

  1.该动态链接库必须输出一个CplApplet函数,这个函数包含了一些消息,函数的原型如下:

  function CPlApplet(hwndCPL: HWND; uMsg: UINT;

  lParam1: LPARAM; lParam2: LPARAM): LongInt; stdcall;

  2.该动态链接库的扩展名是“CPL”,位于Windows的系统目录下,通常是“WindowsSystem”;

  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下运行通过。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/delphi/) 
展开更多 50%)
分享

猜你喜欢

创建“控制面板”的新项目

Delphi
创建“控制面板”的新项目

控制面板在哪,控制面板打不开怎么办

电脑入门
控制面板在哪,控制面板打不开怎么办

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

控制面板禁用方法

电脑入门
控制面板禁用方法

不动CPL也能隐藏控制面板项目

电脑网络
不动CPL也能隐藏控制面板项目

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

控制面板在哪里打开

电脑网络
控制面板在哪里打开

NVIDIA控制面板怎么设置

电脑入门
NVIDIA控制面板怎么设置

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用PHP发送MIME邮件(四)

用PHP发送MIME邮件(四)

采用行写方式的聊天程序(之三)

采用行写方式的聊天程序(之三)
下拉加载更多内容 ↓