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

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

Реестр API [D6, WinXP]


illy ©   (2005-11-17 22:57:00) 

Здравствуйте!
Загвоздка с функцией RegEnumKey.

procedure TForm1.ReadReg_API(Hkey_: HKEY);
var
 Key: HKEY;
 ErrorCode,i,j: integer;
 SubKeyCount: Cardinal;//PDWORD;
 ValuesCount: Cardinal;//PDWORD;
 MaxSizeSubKey: Cardinal;//PDWORD;
 Count: integer;
 MaxSize: integer; //DWORD;
 list,list1: Tstringlist;
 str: string;
 Pstr: PChar;

begin
 ErrorCode:= RegOpenKeyEx(Hkey_,'Software' , 0, KEY_READ, Key);
 if ErrorCode = ERROR_SUCCESS then
 try begin
  list:= TStringlist.Create;
  try
   ErrorCode:= RegQueryInfoKey(key,nil,nil,nil,@SubKeyCount,@MaxSizeSubKey,
                nil,@ValuesCount,nil,nil,nil,nil);
   count:= SubKeyCount;
   MaxSize:= MaxSizeSubKey;
   if ErrorCode = ERROR_SUCCESS then
    for i:= 0 to count-1 do
     begin
      ErrorCode:= RegEnumKey(key,i,@Pstr,MaxSize+1);
      str:= Pstr^;
      list.Add(str);
     end;
    memo1.Lines:= list;
  finally
   list.Free;
  end;end;
 finally
   RegCloseKey(Key);
 end;
end;

Нужно получить список всех субключей, но функция ничего невыдает, а в присвоении str:= Pstr; прога вылетает в ошибку.
Подскажите чево я тут накрутил плиз?


icWasya   (2005-11-18 11:34:00) [1]

А посмотреть как ЭТО сделано в TRegistry ?


Наверх

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