次の方法で共有


RegistryKey.GetValue メソッド (String, Object)

指定した値を取得します。指定した値が見つからない場合は、既定値を取得します。

Overloads Public Function GetValue( _
   ByVal name As String, _   ByVal defaultValue As Object _) As Object
[C#]
public object GetValue(stringname,objectdefaultValue);
[C++]
public: Object* GetValue(String* name,Object* defaultValue);
[JScript]
public function GetValue(
   name : String,defaultValue : Object) : Object;

パラメータ

  • name
    取得する値の名前。
  • defaultValue
    name が存在しない場合に返す値。

戻り値

name に関連付けられたデータ。name が見つからない場合は defaultValue

例外

例外の種類 条件
SecurityException このユーザーには、RegistryPermission.SetInclude(read, currentKey) アクセス許可がありません。
ObjectDisposedException 操作対象の RegistryKey が閉じています。閉じられたキーにはアクセスできません。
ArgumentException 操作対象の RegistryKey が存在しません。

解説

文字列 name では、大文字と小文字は区別されません。

特定の registrykey の既定値を取得するには、name に null 参照 (Visual Basic では Nothing) または空の文字列 ("") を指定できます。

レジストリから取得される値は、DWORD、バイナリ、または文字列です。文字列値は、次のカテゴリとして表されます。

  • sz: データは、null で終わる Unicode 文字列値として表されます。
  • multi_sz: データは、null で終わる Unicode 文字列の配列として表されます。
  • expanded_sz: データは、環境変数への展開された参照を含む null で終わる Unicode 文字列として表されます。

メモ   REG_SZ の値を取得する場合、reg_sz 値が展開された値を表すことがあります。この場合、必要に応じて値を展開する ExpandEnvironmentVariables を呼び出してください。

SetValue を使用する場合は、保存する値型を指定できません。代わりに、渡される情報のデータ型に基づいてデータが解釈されます。文字列は expanded_sz 値ではなく、sz 値として解釈されます。

メモ   GetValue を使用して PerformanceData キーの値を返すことはできません。これは、GetValue を実行するたびにこのデータのサイズが異なる可能性があり、このメソッドでは正しいサイズの値を取得するためのバッファを割り当てることができないからです。元のパフォーマンス データにアクセスするには、代わりに PerformanceCounters を使用します。

使用例

[Visual Basic, C#, C++] 次のコード例は RegistryKey クラスの例の一部です。

 
' Delete the non-secure password value.
testSettings = test9999.OpenSubKey("TestSettings", True)
testSettings.DeleteValue("password")

' Verify the deletion.
Console.WriteLine(CType(testSettings.GetValue( _
    "password", "Password not found."), String))
testSettings.Close()

[C#] 
using(RegistryKey 
    testSettings = test9999.OpenSubKey("TestSettings", true))
{
    // Delete the non-secure password value.
    testSettings.DeleteValue("password");

    // Verify the deletion.
    Console.WriteLine((string)testSettings.GetValue(
        "password", "Password not found."));
}

[C++] 
// Delete the non-secure password value.
testSettings = test9999->OpenSubKey(S"TestSettings", true);
testSettings->DeleteValue(S"password");

// Verify the deletion.
Console::WriteLine(dynamic_cast<String*>(
    testSettings->GetValue("password", S"Password not found.")));
testSettings->Close();

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

RegistryKey クラス | RegistryKey メンバ | Microsoft.Win32 名前空間 | RegistryKey.GetValue オーバーロードの一覧 | GetValueNames | SetValue | DeleteValue | ValueCount | GetSubKeyNames