Back
...

========
Subject: Registry
From: Serge Korolev <Serge.Korolev@f104.n5020.z2.fidonet.org>
--------
Hello Aris.

06 Mar 97 18:40, Aris Ceders wrote to All:
AC> Может ли кто-то мне показать/подсказать что-то pеальное pаботающее с
AC> Registry? (TRegistry, TRegIniFIle) А то мне почему то все вpемя что-то
AC> неудается...

uses ShellAPI;

var
dwIndex: LongInt;
hkError: HKEY;
hkRoot: HKEY;
RegAtEof: Boolean;
cb: LongInt;
Reg: PRegData;

begin
{ Открываем ключ на ветвь HKEY_CLASSES_ROOT\CLSID }
hkError := RegOpenKey(HKEY_CLASSES_ROOT, 'CLSID', hkRoot);
try
RegAtEof := hkError <> ERROR_SUCCESS;
dwIndex := 0;
{ Если все успешно, то начинаем перебирать узлы в поддереве }
while not RegAtEof do begin
{ Считываем очередной узел }
hkError := RegEnumKey(hkRoot, dwIndex, @Reg^.Buffer, MAX_LEN_STR);
Inc(dwIndex);
if hkError = ERROR_SUCCESS then begin
cb := MAX_LEN_STR;
{ Если узел успешно считан, то считаем его значение }
if RegQueryValue(hkRoot, @Reg^.Buffer, @Reg^.szName, cb) =
ERROR_SUCCESS
then begin
{ Делаем что то дальше. Hапр. перебор, если это поддерево }
{ Функции для работы с registry (описаны в WinAPI.Hlp) }

end else RegAtEof := True;
end;
finally
RegCloseKey(hkRoot);
end;
end;

Serge

23.01.99 20:00:14