2012-02-04 10 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; 

'テスト'のデータを設定できませんでした。アプリケーションは管理者権限で実行されていますが。誰も私を助けることができる..?

答えて

6

あなたがリードアクセスのみでTRegistryオブジェクトのオブジェクトを作成している:

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

ではなく、書き込みアクセスでそれを作成します。

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

は、あなたの魅力のように働いたクリスを、ありがとうございました。.. – jimsweb

関連する問題