用管理员权限写信给HKLM

时间:2012-02-04 17:28:00

标签: delphi

我正在使用'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'设置数据;虽然应用程序以管理员权限运行。任何人都可以帮帮我..?

1 个答案:

答案 0 :(得分:6)

您正在创建仅具有读访问权限的TRegistry对象:

Reg := TRegistry.Create(KEY_READ OR KEY_WOW64_64KEY);

使用写访问权限创建它:

Reg := TRegistry.Create(KEY_WRITE or KEY_WOW64_64KEY);