2012-02-04 3 views
0

Я запускаю свое приложение delphi, используя «run as admin ..», щелкнув правой кнопкой мыши на exe. Это приложение имеет следующий код для вставки в реестр 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

Смежные вопросы