![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Короче нужно написать прогу одну по работе с реестром , вот только проблемка одна . Если я знаю путь к ветви реестра (HKEY_CURRENT_USER\Software\Microsoft\Windows\Curr entverison\Run) то как по ней узнать все Ключи .
|
|
#2
|
||||
|
||||
|
Кажись есть такая ф-я RegEnumKey и RegEnumKeyEx
|
|
#3
|
||||
|
||||
|
Всё , забейте , я уже всё понял .
2 4kusnick Не правельно |
|
#4
|
|||
|
|||
|
Код:
procedure TForm1.Button1Click(Sender: TObject);
var R: TRegistry;
begin
R := TRegistry.Create(KEY_READ);
try
R.RootKey := HKEY_CURRENT_USER;
R.OpenKey('Software\Microsoft\Windows\Curr entverison\Run', False);
R.GetKeyNames(Memo1.Lines);
finally
R.Free;
end;
end; |
|
#5
|
||||
|
||||
|
Странно, что не правильно, в апи такие ф-ии есть и там написано
Enumerates the subkeys of the specified open registry key. The function retrieves the name of one subkey each time it is called. Вот и пример: Код:
{ Создаем список всех подразделов указанного раздела }
procedure TForm1.Button1Click(Sender: TObject);
var
MyKey: HKey; { Handle для работы с разделом }
Buffer: array[0 .. 1000] of char; { Буфер }
Err, { Код ошибки }
index: longint; { Индекс подраздела }
begin
Err := RegOpenKey(HKEY_CLASSES_ROOT, 'DelphiUnit', MyKey); { Открыли раздел }
if Err <> ERROR_SUCCESS then
begin
MessageDlg('Нет такого раздела !!', mtError, [mbOk], 0);
exit;
end;
index := 0;
{Определили имя первого подраздела }
Err := RegEnumKey(MyKey, index, Buffer, Sizeof(Buffer));
while err = ERROR_SUCCESS do { Цикл, пока есть подразделы }
begin
memo1.lines.add(StrPas(Buffer)); { Добавим имя подраздела в список }
inc(index); { Увеличим номер подраздела }
Err := RegEnumKey(MyKey, index, Buffer, Sizeof(Buffer)); { Запрос }
end;
RegCloseKey(MyKey); { Закрыли подраздел }
end;Хорошо, что ты разобрался, но просто хочетсмя восставноить справедливось =) Ведь не так уж я и неправ-) |
|
#6
|
||||
|
||||
|
Может хватит флудить ?
|
|
#7
|
||||
|
||||
|
Цитата:
ПС. Тему закрываю... |