delphi 如何修改 注册表 里的 某一键值?

我想用delphi制作一个软件,按下按钮后就会把注册表中已经存在的 HKEY_CURRENT_USER\Software\QQ游戏.key\UnRegister 下的AstrictA(reg_dword) 里面的键值修改为"0",最好有例子 谢谢

我的qq 292368008 方便话留下您的QQ谢谢您!
uses Registry;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey('Software\UnRegister ',True);
Reg.WriteInteger('AstrictA', 0);
finally
Reg.Free;
end;
end;
我试过了delphi能调试过去,但没有看了注册表'AstrictA‘值 没有被改动?!不知问题出在哪里?

因为你没说到键名,所以我假设键名是Path,键类型为字符串型

uses Registry;

var
Reg :TRegistry;
begin
Reg := TRegistry.Create;
try
with Reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey('software\delphi',false) then
if ReadString('Path') = 'c:\delphi.exe' then
begin
showmessage('键值不用修改');
Exit;
end
else
WriteString('Path','c:\delphi.exe')
else
showmessage('打开项失败,请检查项是否存在');
end;
finally
Reg.Free;
end;

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-23
HKEY_CURRENT_USER\Software\QQ游戏.key\UnRegister

Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey('Software\UnRegister ',True);
这两个明显不一样的啊。。。追问

HKEY_CURRENT_USER\Software\QQ游戏.key\UnRegister
Reg.OpenKey('Software\QQ游戏.key\UnRegister ',True);
是这样的!!我只是问题上没写对!

相似回答