我正在使用'run as admin ...'运行我的delphi应用程序,右键单击exe。此应用程序具有以下代码以插入HKLM注册表。
begin
kValue := 'testing';
Reg.CloseKey;
Reg.Free;
try
Reg := TRegistry.Create(KEY_READ OR KEY_WOW64_64KEY);
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('SOFTWARE\explorev2', True);
Reg.WriteString('test', kValue);
Result := Reg.ReadString('test');
except
;
end;
我得到例外'未能为'test'设置数据;虽然应用程序以管理员权限运行。任何人都可以帮帮我..?
答案 0 :(得分:6)
您正在创建仅具有读访问权限的TRegistry对象:
Reg := TRegistry.Create(KEY_READ OR KEY_WOW64_64KEY);
使用写访问权限创建它:
Reg := TRegistry.Create(KEY_WRITE or KEY_WOW64_64KEY);