TRegistry の使い方
Windows 専用アプリケーションを記述する場合で、システム レジストリの構造に慣れているなら、System.Win.Registry.TRegistry を使用することができます。 他の ini ファイル コンポーネントの同じプロパティやメソッドを使う、TRegistryIniFile と異なり、TRegistry のプロパティやメソッドは、システム レジストリの構造に直接対応付けられます。 TRegistry を使用すると、ルート キーおよびサブキーの両方を指定できるのに対し、TRegistryIniFile は HKEY_CURRENT_USER をルート キーとして使用します。
キーの開く、閉じる、保存、移動、コピー、削除を行うためにメソッドに加え、TRegistry では、使用したいアクセス レベルを指定することも可能です。
メモ: TRegistry は、クロスプラットフォーム(Windows)プログラムでは使用できません。
次の例では、レジストリ エントリから値を取得しています:
Delphi:
function GetRegistryValue(KeyName: string): string;
var
Registry: TRegistry;
begin
Registry := TRegistry.Create(KEY_READ);
try
Registry.RootKey = HKEY_LOCAL_MACHINE;
// 存在しない場合は作成しないので、False
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
Registry->OpenKey(KeyName, false);
S = Registry->ReadString("VALUE1");
}
__finally {
delete Registry;
}
return S;
}