Главная страница
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.019 c
2-1418843283
AlexeyTG
2014-12-17 22:08
2017.01.15
Запуск двух программ с ожиданием завершения


2-1429430826
Олег Г.
2015-04-19 11:07
2017.01.15
Не находится существующий файл


3-1308557586
MacroDenS
2011-06-20 12:13
2017.01.15
ADO + Excel


2-1430501458
Vlad
2015-05-01 20:30
2017.01.15
Динамическое создание TChromium


15-1453995709
Внук
2016-01-28 18:41
2017.01.15
Классовые методы с неклассовыми свойствами