Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2017.01.15;
Скачать: CL | DM;

Вниз

Чтение из HKEY_LOCAL_MACHINE правильно ли реализовано   Найти похожие ветки 

 
AlexeyTG ©   (2014-12-30 21:15) [0]

Решил в лаунчере о котором ранее писал сделать не в самом ЕХЕ, а из реестра брать значения. Пробный код выводящий значения мессейджем.

Просьба оценить правильно ли написана ф-я получения значений. ОС: х64

program Project1;

uses
 Winapi.Windows,System.SysUtils,Registry,Vcl.Dialogs;
Var
S1,S2:String;

{$R *.res}

function Reg (Const ReadS:String):string;
var
R:TRegistry;
begin
R:= TRegistry.Create;
Try
  R.RootKey := HKEY_LOCAL_MACHINE;
  R.Access := KEY_WOW64_64KEY or KEY_READ;
  if R.OpenKeyReadOnly("SOFTWARE\RunApp") then
   Begin
     Result:=R.ReadString(ReadS);
   End;
Finally
  R.Free;
End;
end;

begin
S1:=Reg("ID1");
S2:=Reg("ID2");
ShowMessage("ID1: "+S1+", ID2: "+S2);
end.


 
Rouse_ ©   (2014-12-30 21:30) [1]

Правильно


 
Rouse_ ©   (2014-12-30 21:36) [2]

За исключением что ключ доступа неверный, нужно key_wow32_64key использовать для 32 бит


 
AlexeyTG ©   (2014-12-31 15:42) [3]

Rouse_ Имеется ввиду KEY_WOW64_32KEY ?

С ним читает из раздела Wow6432Node на х64 системе и из нужного раздела на х32 системе :(

В текущем виде (KEY_WOW64_64KEY) читает из HKEY_LOCAL_MACHINE и работает как на х64 системе, так и на виртуалке с х32 Windows 7 читая из одного нужного раздела на обоих системах.

Т.е. не нужно с учетом разрядности ОС разные рег файлы делать



Страницы: 1 вся ветка

Текущий архив: 2017.01.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
1-1343890489
rioko
2012-08-02 10:54
2017.01.15
Stream.Seek Stream.Position возвращает ноль.


2-1421233871
aka
2015-01-14 14:11
2017.01.15
самый быстрый вывод текста


15-1453673352
Jeer
2016-01-25 01:09
2017.01.15
С днем Штурмана ВМФ!


15-1456319592
Копир
2016-02-24 16:13
2017.01.15
Порой опять гармонией упьюсь, Над вымыслом слезами обольюсь...


2-1421583719
Боб
2015-01-18 15:21
2017.01.15
Приостановка работы хука