![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Чтение из 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]Правильно