Comment obtenir le nom de la sous-clé (par exemple Stk Group \ BISCUIT) du registre?Comment obtenir le nom de la sous-clé?
1
A
Répondre
5
Vous cherchez TRegistry.GetKeyNames(Strings: TStrings);
help: Renvoie une liste de chaînes contenant les noms de tous les sous-clés appartenant à la clé actuelle.
4
utilisation GetKeyNames
l » Tregistry
http://docwiki.embarcadero.com/VCL/en/Registry.TRegistry.GetKeyNames
0
function GetRegSubTree(MainKey : LongInt; var aList : TStringList; aKey :
string) : Boolean;
var
hRoot : HKEY;
lItem : LongInt;
hError : LongInt;
szKey,pData : PChar;
aString : String;
begin
GetRegSubTree:=false;
if aList=Nil then exit;
{create pointers for the API}
szKey := StrAlloc(Length(aKey) + 1);
StrPCopy(szKey, aKey);
lItem := 0;
pData := StrAlloc(1024);
hError := RegOpenKey(MainKey, szKey, hRoot);
if hError = ERROR_SUCCESS then
begin
while (hError = ERROR_SUCCESS) do
begin
hError := RegEnumKey(hRoot, lItem, pData, 1024);
if (hError = ERROR_SUCCESS) then
begin
GetRegSubTree:=true;
aList.Add(StrPas(pData));
Inc(lItem);
end;
end;
RegCloseKey(hRoot);
end;
StrDispose(szKey);
StrDispose(pData);
end;
Pourquoi utilisez-vous de l'API quand il y a une très bonne et plus facile à utiliser classe wrapper pour eux (TRegistry)? –
@Marjan Venema, seulement si vous voulez que votre taille d'exécutable soit aussi petite que possible – Luthfi
+1 DonnVall. Pour moi, j'utilise le moyen le plus simple/le plus simple de réduire la taille. – XBasic3000