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

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

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;


Наверх

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