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