Using TRegistry
Go Up to Working with ini Files and the System Registry
If you are writing a Windows-only application and are comfortable with the structure of the system Registry, you can use System.Win.Registry.TRegistry. Unlike TRegistryIniFile, which uses the same properties and methods of other ini file components, the properties and methods of TRegistry correspond more directly to the structure of the system Registry. You can specify both the root key and subkey using TRegistry, while TRegistryIniFile uses HKEY_CURRENT_USER as the root key.
In addition to methods for opening, closing, saving, moving, copying, and deleting keys, TRegistry lets you specify the access level you want to use.
Note: TRegistry is not available for cross-platform (non Windows) programming.
The following example retrieves a value from a registry entry:
Delphi:
function GetRegistryValue(KeyName: string): string;
var
Registry: TRegistry;
begin
Registry := TRegistry.Create(KEY_READ);
try
Registry.RootKey := HKEY_LOCAL_MACHINE;
// False because we do not want to create it if it doesn't exist
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 because we do not want to create it if it doesn’t exist
Registry->OpenKey(KeyName, false);
S = Registry->ReadString("VALUE1");
}
__finally {
delete Registry;
}
return S;
}