2012-02-04 143 views
0

我正在使用'以管理员身份运行',通过右键单击exe来运行我的delphi应用程序。此应用程序具有以下代码以插入HKLM注册表。用管理员权限写入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'设置数据;尽管应用程序正在以管理员权限运行。任何人都可以帮助我... ..?

回答

6

您与只读访问创建TRegistry对象:

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

用,而不是写访问创建它:

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

谢谢克里斯,这工作就像一个魅力.. – jimsweb 2012-02-04 19:23:18