![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
RegEnumValue
serge_af © (2002-10-03 17:50:00)Помогите пожалуйста разобраться с RegEnumValue. Как ей пользоваться? Надо у определенного ключа перебрать все значения и найти имя того, у которого значение (стринг) совпадает с заданным.
Arcus (2002-10-04 17:12:00) [1]выдрано из юнита, м.б. надо будет подправить
var
RootKey, SubKey: HKey;
SubKeyName: string;
Index: Integer;
BufVal, BufData: array[0..255];
ValSize, DataSize: DWord;
begin
...
if RegOpenKeyEx(RootKey, PChar(SubKeyName), 0, KEY_READ, SubKey) = ERROR_SUCCESS then
begin
try
ValSize:= Length(BufVal); //лучше выделять динамически, но так проще, если точно знаешь, что резулбтат - строки
DataSize:= Length(BufData);
Index := 0;
while RegEnumValue(SubKey, Index, BufVal, ValSize, nil, nil, BufData, DataSize) = ERROR_SUCCESS do // когда перебор закончится вернет ERROR_NO_MORE_ITEMS
begin
...BufVal - имя, BufData - значение
Inc(Index);
end;
finally
RegCloseKey(SubKey);
end;
end;
end;