Форум: "WinAPI";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];
ВнизRegEnumKeyEx непоказывает все подключи, Найти похожие ветки
← →
ctranik (2005-06-03 17:32) [0]Всем привет
такое дело API-функция RegEnumKeyEx непоказывает все подключи, немогу понять почему?
procedure TForm2.Button1Click(Sender: TObject);
var
Buffer:array[0..1000]of char;
mykey:HKey;
s:string;
index,err,countsubkey:integer;
v:cardinal;
begin
if RegOpenKeyEx(HKEY_Classes_Root,"",0,KEY_Read ,MyKey)=ERROR_SUCCESS then begin
RegQueryInfoKey(mykey,nil,nil,nil,@countsubkey,nil,nil,nil,nil,nil,nil,nil);// информация об открытом ключе
index := 0;
err:=RegEnumKeyEx(MyKey,index,Buffer,v,nil, nil, nil, nil);// попытка получить имя первого подключа
while countsubkey>index do begin
if err=ERROR_SUCCESS then memo1.Lines.Add(inttostr(index)+" "+strpas(buffer));
inc(index);
err:=RegEnumKeyEx(MyKey,index,Buffer,v,nil, nil, nil, nil); //попытка получить имя следущего подключа
end;//while
RegCloseKey(mykey);
end;//if
end;
← →
gdaujk © (2005-06-04 08:44) [1]Вроде всё правильно... Посмотри, как это сделано в VCL.
← →
gdaujk © (2005-06-04 08:48) [2]Это не мой код, не знаю, работат или нет. Сам разбирайся :-) Может поможет...
function RegEnum(RootKey: HKEY; Name: String; var ResultList: String; const DoKeys: Boolean): boolean;
var
i: integer;
iRes: integer;
s: String;
hTemp: HKEY;
Buf: Pointer;
BufSize: Cardinal;
begin
Result := False;
ResultList := "";
if RegOpenKeyEx(RootKey, PChar(Name), 0, KEY_READ, hTemp) = ERROR_SUCCESS then
begin
Result := True;
BufSize := 1024;
GetMem(buf, BufSize);
i := 0;
iRes := ERROR_SUCCESS;
while iRes = ERROR_SUCCESS do
begin
BufSize := 1024;
if DoKeys then
iRes := RegEnumKeyEx(hTemp, i, buf, BufSize, nil, nil, nil, nil)
else
iRes := RegEnumValue(hTemp, i, buf, BufSize, nil, nil, nil, nil);
if iRes = ERROR_SUCCESS then
begin
SetLength(s, BufSize);
CopyMemory(@s[1], buf, BufSize);
if ResultList = "" then
ResultList := s
else
ResultList := Concat(ResultList, #13#10, s);
inc(i);
end;
end;
FreeMem(buf);
RegCloseKey(hTemp);
end;
end;
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.032 c