Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чтение из HKEY_LOCAL_MACHINE правильно ли реализовано


AlexeyTG ©   (2014-12-30 21:15:00) 

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

Просьба оценить правильно ли написана ф-я получения значений. ОС: х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.


AlexeyTG   (2014-12-31 15:42:00) [1]

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

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

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

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


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

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


Rouse_   (2014-12-30 21:30:00) [3]

Правильно


Наверх

Титульная страница Поиск, карта сайта Написать письмо