Utilisation de TRegistry
Remonter à Utilisation des fichiers ini et du registre système
Si vous écrivez une application uniquement sous Windows et si vous connaissez bien la structure de la base de registres, vous pouvez utiliser System.Win.Registry.TRegistry. A la différence de TRegistryIniFile, qui utilise les mêmes propriétés et méthodes des autres composants du fichier ini, les propriétés et les méthodes de TRegistry correspondent plus directement à la structure de la base de registres. Vous pouvez spécifier la clé racine et la sous-clé en utilisant TRegistry, alors que TRegistryIniFile adopte HKEY_CURRENT_USER comme clé racine.
En plus des méthodes pour l'ouverture, la fermeture, l'enregistrement, le déplacement et la suppression des clés, TRegistry vous permet de spécifier le niveau d'accès que vous voulez utiliser.
Remarque : TRegistry ne peut pas être utilisé en programmation multiplates-formes (non Windows).
L'exemple suivant lit une valeur dans une entrée de registre :
Delphi :
function GetRegistryValue(KeyName: string): string;
var
Registry: TRegistry;
begin
Registry := TRegistry.Create(KEY_READ);
try
Registry.RootKey = HKEY_LOCAL_MACHINE;
// False car nous ne voulons pas la créer si elle n'existe pas
Registry.OpenKey(KeyName, False);
Result := Registry.ReadString('VALUE1');
finally
Registry.Free;
end;
end;
C++ :
#include <Registry.hpp>
AnsiString GetRegistryValue(AnsiString KeyName) {
AnsiString S;
TRegistry *Registry = new TRegistry(KEY_READ);
try {
Registry->RootKey = HKEY_LOCAL_MACHINE;
// False car nous ne voulons pas la créer si elle n'existe pas
Registry->OpenKey(KeyName, false);
S = Registry->ReadString("VALUE1");
}
__finally {
delete Registry;
}
return S;
}