一个简单的CONTROL程序(转自《DELPHI深度历险》)

首先手工编写一个资源文件,代码如下:

 

Hello.rc

STRINGTABLE

BEGIN

1 "HELLO WORLD!"

2 "HOW DO YOU DO"

END

5 "ICON Face.ico"

 

确定同一目录下存放有Face.ico文件后,在命令行输入命令编译RC文件:brcc32 Hello.rc,如果一切无误,编译会生成Hello.res文件!

由于CPL本质是一个DLL文件,只不过带有CplApplet导出函数。所以接下来我们创建一个DLL程序,代码如下:

 

Library HelloCpl;

 

uses Windows,SysUtils,Dialogs,CPL;   //  编写控制面板程序必须引用此单元

 

{$R Hello.res}  // 连接资源文件

 

Procedure MsgBox(const Msg: string);

begin

  MessageBox(0,PChar(Msg),'Notice',Mb_OK + Mb_IconInformation);

end;

 

function CplApplet(hwndCPL: HWND;uMsg: UINT;lparam1: LPARAM;lparam2: LPARAM): LongInt;stdcall;

var pInfo: PCPLInfo;

begin

  case uMsg of

  CPL_INIT: Result := 1;    // 0--失败;非0成功。一般用于完成变量或内存配置等初始化工作

  CPL_GETCOUNT: Result := 1;   //返回所包含组件数目

  CPL_INQUIRE:                 // 取得控件面板组件信息

  begin

    pINfo := PCPLInfo(lPrarm2);

    with pInfo^ do

    begin

      idName := 1;       //  名称的资源ID

      idInffo := 2;    //  描述的资源ID

      idIcon := 5;    //  图标的资源ID

      lData := 0;    //  不需要用户自定义数据

    end;

    Result := 0;   //  成功

  end;

  CPL_NEWINQUIRE: Result := 0;  //  成功

  CPL_DBLCLK:                       //  激活某面板组件,一般是显示一SHOWMODAL对话框

  begin

    MsgBox('嘿嘿~应该在这里弹出界面!');

    Result := 0;  //  成功

  end;

  CPL_STOP: Result := 0;  //  成功

  CPL_EXIT: Result := 0;  //  成功

end;

 

exports CplApplet;

 

begin

end.

 

程序写完编译完成后,可以通过控制面板或RUNDLL32.EXE来执行!下面提供测试的BAT文件:

TestRun.bat

del hellocpl.cpl

ren hellocpl.dll *.cpl

rundll32 shell32.dll,Control_RunDll hellocpl.cpl

和安装的BAT文件:

Install.bat

del c:/windows/system32/hellocpl.cpl

copy hellocpl.dll c:/windows/system32/*.cpl

至于删除就更简单了,只要把控制面板关闭,然后直接删除系统目录下的文件就可以了!

 

写完了才发现,原来D的FILE  NEW中已经有了CONTROL PANEL APPLICATION!  -_-#!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这是一本很具特色的书籍,作者通过自身的编程经验告诉你在拥有了基本的程序设计能力后,如何进行自身发掘问题、解决问题,并在程序设计中寻找乐趣的最高层。 全书分为基本概念,操作系统,桌面秘笈,编写游戏,软件开发5大篇。主要内容包括:RAD编程工具的优劣,VCL基本概念,使用控制面板,定时器,桌面世界,背景主题工具实战,编写屏幕保护——自己的计划表,编写足球赛游戏,坦克大决战游戏,Fancy软件编写手则。 本书针对于具有Delphi编程基础并对Windows SDK有基本认识的使用者。 这是一本你从未见过的电脑技术书籍!一般技术书籍的焦点总是放在开发工具、程序语言、系统调用或最新技术上,即很少引导读者在拥有基本的程序设计能力后,进入自行发掘问题、解决问题,并在程序设计中寻找乐趣的更高境界。 “Delphi深度历险”打破了这个传统:作者不教你如何使用Delphi,不讲解Object Pascal,不是Win32基础教科书籍,也不打算介绍COM/OLE/ADO等新技术。这些内容,别人都讲得够多了! 全书分为“基本概念”、“操作系统”、“桌面秘笈”、“编写游戏”、“软件开发”5大篇。你可以看到这些特别的、有趣的主题:•将VCL与SDK的暧昧关系一手理开•自己设计屏幕保护程序•自己来设计控制面板、控制面板组件•“仓库番”游戏的撰写•各种计时方法的比较与分析•经典游戏“坦克大决战”完整设计过程•以Win32高层技术布置桌面•设计自己的直译式语言,并为它撰写直译器•完全由作者自己开发的桌面主题世界的秘密•撰写商业级应用程序的秘诀。 程序设计不只是拿来学,学了就要好好地用,以设计出实用的软件供大家使用。本书中,作者将引导你深度历险,探索Delphi无穷的活用空间。 光盘内容:包含本书全部范例程序源代码,并且完整收录Delphi深度历险网站。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值