我正在使用'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;
Run Code Online (Sandbox Code Playgroud)
我得到例外'未能为'test'设置数据; 虽然应用程序以管理员权限运行.任何人都可以帮帮我..?
您正在创建仅具有读访问权限的TRegistry对象:
Reg := TRegistry.Create(KEY_READ OR KEY_WOW64_64KEY);
Run Code Online (Sandbox Code Playgroud)
改为使用写访问权限创建它:
Reg := TRegistry.Create(KEY_WRITE or KEY_WOW64_64KEY);
Run Code Online (Sandbox Code Playgroud)