控制面板Win7小程序

控制面板Win7小程序

本文介绍了控制面板Win7小程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在DelphiXe中,我通过项目主管创建了控制面板的新小程序,我更改了一个图标,名称等。
激活反应我写了Showmessage('Test');编译,接收dll,重命名为* .cpl。在此文件开头的win.explorer中显示该消息。
在WinXp中,我将这个文件插入到c:\windows\system32中,打开控制面板Windows,看到该applet,起初测试消息脱颖而出。
我在Win7x64(或2008r2)上做的最多,但是在小程序的控制面板中我没有观察到,重新启动问题并不能解决。
试图在c:\windows\syswow64中复制一个文件,也没有结果。
如何强制小程序会出现在Win7下的面板中?



代码:

 库Project1; 

使用
CtlPanel,
AppletModule1在AppletModule1.pas{AppletModule1AppletModule:TAppletModule}中;

导出CPlApplet;

{$ R * .RES}

{$ E cpl}

begin
Application.Initialize;
Application.CreateForm(TAppletModule1AppletModule,AppletModule1AppletModule);
Application.Run;
结束。

//////////////单元模块

单元AppletModule1;

接口

使用
Windows,消息,SysUtils,Classes,CtlPanel,Dialogs;

type
TAppletModule1AppletModule = class(TAppletModule)
procedure AppletModuleActivate(Sender:TObject; Data:Integer);
private
{私人声明}
protected
{protected declaration}
public
{public declarations}
end;

var
AppletModule1AppletModule:TAppletModule1AppletModule;

实现

{$ R * .DFM}

程序TAppletModule1AppletModule.AppletModuleActivate(发件人:TObject;
数据:整数);
begin
Showmessage('Test');
结束

结束。


解决方案

在XP上,您可以删除 .cpl 文件到系统文件夹,并完成:



然而,在Vista和更高版本上,您的 .cpl applet需要在注册表中注册。在系统文件夹中删除它可能还不够。




In DelphiXe I create through the master of projects the new applet of the Control panel, I change an icon, the name, etc.To activation reactions I write Showmessage (' Test '); Compile, receive dll, rename in *.cpl. In a win.explorer at start of this file the message appears.In WinXp I insert this file in c:\windows\system32, open Control panel Windows, I see the applet and at its start the test message stands out.I make too most on Win7x64 (or on 2008r2), but in the control panel of the applet I do not observe, reboot of a problem does not solve.Tried to duplicate a file in c:\windows\syswow64, too there is no result.How to force the applet will appear in the panel under Win7?

Code:

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.
解决方案

On XP, you can drop the .cpl file into the system folder and be done with it:

How to Register DLL Control Panel Items

However, on Vista and later, your .cpl applet needs to be registered in the Registry. Dropping it in the system folder may not be enough.

Developing for the Control Panel

这篇关于控制面板Win7小程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-28 23:23