如何编程实现 像注册表中写入键值(20分)

  • 主题发起人 问题多28
  • 开始时间

问题多28

Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi中使用什么对象或控件将有关信息写入注册表,并且用什么方法可以判断某键值
已经存在.
 
//读&写注册表
Procedure ReadRegistry(RootKey : HKEY; sNode, sIndex : String; Out sValue : String);
Var
RegTemp : TRegistry;
Begin
RegTemp := TRegistry.Create;
Try
RegTemp.RootKey := RootKey;
RegTemp.OpenKey(sNode, True);
sValue := Trim(RegTemp.ReadString(sIndex));
Finally
RegTemp.CloseKey;
RegTemp.Free;
End;
End;

Procedure WriteRegistry(RootKey : HKEY; sNode, sIndex, sValue : String);
Var
RegTemp : TRegistry;
Begin
RegTemp := TRegistry.Create;
Try
RegTemp.RootKey := RootKey;
RegTemp.OpenKey(sNode, True);
RegTemp.WriteString(sIndex, sValue);
Finally
RegTemp.CloseKey;
RegTemp.Free;
End;
End;
 
var
MyReg: TRegistry;
begin
//初始化连接
MyReg := TRegistry.Create;
try
MyReg.RootKey := HKEY_LOCAL_MACHINE;
if MyReg.OpenKey('/SOFTWARE/aaa', False) then //打开注册表项目
begin
if MyReg.ValueExists('L') then
//键值是否存在
begin
L := MyReg.ReadString('AAA');
end;
end;
finally
MyReg.Free;
end;
end;
 
var
reg:TRegistry;
begin
Reg := TRegistry.Create();
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.KeyExists('/SOFTWARE/test/CallCenter') then
Reg.CreateKey('/SOFTWARE/test/CallCenter');
Reg.OpenKey('/SOFTWARE/test/CallCenter',True);
Reg.WriteBinaryData('sec','test',4);
Reg.CloseKey;
Reg.Free;
end;
注意,你需要引用Registry单元。
 
var
reg:TRegistry;
begin
Reg := TRegistry.Create();
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.KeyExists('/SOFTWARE/test/CallCenter') then
Reg.CreateKey('/SOFTWARE/test/CallCenter');
Reg.OpenKey('/SOFTWARE/test/CallCenter',True);
Reg.WriteBinaryData('sec','test',4);
Reg.CloseKey;
Reg.Free;
end;
在引用单元处加入:Registry
 
这个问题我刚刚才解决的,我是初学者下面是我的代码
实现一个程序的自动启动
procedure Tmainform.BtnRegClick(Sender: TObject);
Var //使系统启动时,程序自动运行
RegF:TRegistry;
begin
RegF:=TRegistry.Create;
RegF.RootKey:=HKEY_LOCAL_MACHINE;
Try
RegF.OpenKey('SOFTWARE/Microsoft/Windows/CurrentVersion/Run',False);
RegF.WriteString('GDHclient','"' + ParamStr(0) + '"');

except
End;
RegF.CloseKey;
RegF.Free;
end;
在引用单元处加入:Registry
 
顶部