2012-02-04 108 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