在DelphiXe中,我通过项目的主程序创建了控制面板的新小程序,我更改了一个图标、名称等等。我编写了Showmessage (‘Test ');编译、接收dll、在*.cpl中重命名。在该文件开始时的win.explorer中,将显示消息。在WinXp中,我将这个文件插入到c:\windows\system32 32中,打开控制面板Windows,我看到了applet,在它开始时,测试消息非常突出。我在Win7x64 (或2008r2)上做的太多了,但是在applet的控制面板中我没有观察到,重新启动一个问题并不能解决问题。尝试复制c:\windows\syswow64 64中的文件,也没有结果。如何强制小程序出现在Win7下的面板中?
代码:
library Project1;
uses
CtlPanel,
AppletModule1 in 'AppletModule1.pas' {AppletModule1AppletModule: TAppletModule};
exports CPlApplet;
{$R *.RES}
{$E cpl}
begin
Application.Initialize;
Application.CreateForm(TAppletModule1AppletModule, AppletModule1AppletModule);
Application.Run;
end.
////////////// and Unit module
unit AppletModule1;
interface
uses
Windows, Messages, SysUtils, Classes, CtlPanel, Dialogs;
type
TAppletModule1AppletModule = class(TAppletModule)
procedure AppletModuleActivate(Sender: TObject; Data: Integer);
private
{ private declarations }
protected
{ protected declarations }
public
{ public declarations }
end;
var
AppletModule1AppletModule: TAppletModule1AppletModule;
implementation
{$R *.DFM}
procedure TAppletModule1AppletModule.AppletModuleActivate(Sender: TObject;
Data: Integer);
begin
Showmessage('Test');
end;
end.发布于 2015-08-07 01:03:06
在XP上,您可以将.cpl文件放到系统文件夹中,并完成以下操作:
从Windows开始,新的控制面板项DLL应安装在程序文件文件夹下的关联应用程序的文件夹中。存储在具有扩展的System32目录中的.cpl项不需要注册;它们将自动显示在控制面板中。使用CPlApplet的所有其他控制面板项都必须以以下两种方式之一进行注册:
但是,在Vista和更高版本上,您的.cpl小程序需要在注册表中注册。将其放到系统文件夹中可能还不够。
类型的控制面板小程序 有三种类型的控制面板小程序:
CplApplet函数的CPLs applet命令对象是最容易实现的。
添加和注册您自己的小程序和任务
在Windows中,向控制面板添加自己的applet更容易。软件开发人员现在可以轻松地将自己的applet和任务添加到Control中。
在以前版本的Windows中,您可以使用函数向控制面板添加applet。操作系统使用注册表枚举包含applet的模块。调用每个模块的CplApplet函数来显示applet、其图标和描述,然后调用applet。这个过程比使用命令对象更复杂,因为applet必须实现CplApplet接口。虽然Windows仍然支持此过程,但鼓励使用命令对象,因为它更易于实现。
现在,在Windows中,您只需编写一个可执行文件(.exe),将其注册为一个命令对象,然后applet就会出现在控制面板中。例如,您可以为您的applet编写一个可执行文件MySystemApplet.exe,并通过简单地将MySystemApplet.exe注册为一个shell命令对象,而不是用CplApplet接口的实现来乏味地修改二进制文件,从而将applet添加到控制面板中。
https://stackoverflow.com/questions/5951440
复制相似问题