1.
Code:
procedure EnumerateRegKeys(const HK : HKEY);
var
countSubKeys : Cardinal;
C1 : Integer;
keyName : Array[0..MAX_PATH] of Char;
keyLength : Cardinal;
begin
RegQueryInfoKey(HK, nil, nil, nil, @countSubKeys, nil, nil, nil, nil, nil, nil, nil);
For C1 := 0 to countSubKeys - 1 Do
Begin
keyLength := MAX_PATH;
RegEnumKeyEx(HK, C1, keyName, keyLength, nil, nil, nil, nil);
ListBox1.Items.Add(keyName);
End;
end;
2.
Code:
procedure EnumerateSubFolders(path : String; const attrib : Integer);
var
SRec : TSearchRec;
begin
If path[Length(path)] <> '\' Then
path := path + '\';
If FindFirst(Path + '*.*', faDirectory + attrib, SRec) = 0 Then
repeat
If (SRec.Name <> '.') and
(SRec.Name <> '..') and
(SRec.Attr and faDirectory <> 0) Then
ListBox1.Items.Add(SRec.Name);
until FindNext(SRec) <> 0;
FindClose(SRec);
end;