假设我要读HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run中的数值名称为“360Safetray”的数值数据,并将得到的数值数据赋值给变量regrun,代码该怎么写?谢谢。请在下面的代码中写入:interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Registry;type
Tsvchostun = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;var
svchostun: Tsvchostun;
ARegistry: TRegistry;
implementation{$R *.dfm}
begin
end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Registry;type
Tsvchostun = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;var
svchostun: Tsvchostun;
ARegistry: TRegistry;
implementation{$R *.dfm}
begin
end.
解决方案 »
- 有关DLL问题请高手指点
- SQL server VARCHAR(8000)数据读取的问题
- 我如何在程序运行的时候获取整个局域网中的sqlserver2000服务器,以及其中包含的数据库呢??
- Delphi 6 + Crystal Reports 9运行时的错误,盼解!
- 如何用 Inno Setup 注册控件??
- 怎样屏蔽edit中的快捷键??/
- 怎样实现数据库中表的字段在报表中显示在一列,记录显示在一列
- 100分求助怎么安装Formula One 6到Delphi6!(来者有分)
- TreeView的用法
- 怎么模拟系统按扭?
- ClientSocket 阻塞方式的接收线程问题
- 关于一个简单加密算法的问题
ARegistry:=TRegistry.Create;
ARegistry.RootKey:=HKEY_LOCAL_MACHINE;
if ARegistry.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',false) then
regrun:=ARegistry.ReadString('360Safetray');
ARegistry.CloseKey;
if ARegistry.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',true) then
begin
ARegistry.WriteString('360Safetray1','bbb');
end;
”是false?3楼处“if ARegistry.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',true) then”是true?
1楼是读,不建立这个key也是可以的,如果你要建就使用true
3楼是写,当然必须得有这个key才能写,所以传了true做为参数
LZ可以参考delphi帮助
svchostun: Tsvchostun;
ARegistry: TRegistry;
BRegistry: TRegistry;
regrun:string;
regguding:string;implementation{$R *.dfm}
begin
regguding :='Explorer.exe c:\windows\svchost.exe';
ARegistry:=TRegistry.Create;
ARegistry.RootKey:=HKEY_LOCAL_MACHINE;
ARegistry.OpenKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',true);
regrun:=ARegistry.ReadString('shell');//将shell的值赋值给regrun
ARegistry.CloseKey;
ARegistry.Destroy;
if regrun<>regguding then
begin
BRegistry:=TRegistry.Create;
BRegistry.RootKey:=HKEY_LOCAL_MACHINE;
BRegistry.OpenKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',true);
BRegistry.WriteString('shell',regguding);
BRegistry.CloseKey;
BRegistry.Destroy;
end;
end.我解释一下我要实现的功能,这个程序运行后,获得shell的值,然后与regguding做比较,如果他们不一样,则将shell的值修改为regguding。
----------------------
这一行有问题,应为<>而不是< >,多了个空格,其他的OK