次の方法で共有


RegistryKey.GetValueNames メソッド

このキーに関連付けられているすべての値の名前が格納されている文字列の配列を取得します。

Public Function GetValueNames() As String()
[C#]
public string[] GetValueNames();
[C++]
public: String* GetValueNames()  __gc[];
[JScript]
public function GetValueNames() : String[];

戻り値

現在のキーの値の名前を格納する文字列の配列。

例外

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

解説

キーの値の名前が見つからない場合は、空の配列が返されます。

すべての RegistryKeys に既定値が割り当てられています。既定値は値の名前としてカウントされないため、返される結果セットには含まれません。

使用例

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

 
' Print the information from the Test9999 subkey.
Console.WriteLine("There are {0} subkeys under Test9999.", _
    test9999.SubKeyCount.ToString())
For Each subKeyName As String In test9999.GetSubKeyNames()
    Dim tempKey As RegistryKey = _
        test9999.OpenSubKey(subKeyName)
    Console.WriteLine(vbCrLf & "There are {0} values for " & _
        "{1}.", tempKey.ValueCount.ToString(), tempKey.Name)
    For Each valueName As String In tempKey.GetValueNames()
        Console.WriteLine("{0,-8}: {1}", valueName, _
            tempKey.GetValue(valueName).ToString())
    Next
Next

[C#] 
// Print the information from the Test9999 subkey.
Console.WriteLine("There are {0} subkeys under {1}.", 
    test9999.SubKeyCount.ToString(), test9999.Name);
foreach(string subKeyName in test9999.GetSubKeyNames())
{
    using(RegistryKey 
        tempKey = test9999.OpenSubKey(subKeyName))
    {
        Console.WriteLine("\nThere are {0} values for {1}.", 
            tempKey.ValueCount.ToString(), tempKey.Name);
        foreach(string valueName in tempKey.GetValueNames())
        {
            Console.WriteLine("{0,-8}: {1}", valueName, 
                tempKey.GetValue(valueName).ToString());
        }
    }
}

[C++] 
// Print the information from the Test9999 subkey.
Console::WriteLine(S"There are {0} subkeys under Test9999.", 
    test9999->SubKeyCount.ToString());
String* subKeyNames __gc [] = test9999->GetSubKeyNames();
for(int i =0; i < subKeyNames->Length; i++)
{
    RegistryKey* tempKey = test9999->OpenSubKey(subKeyNames[i]);
    Console::WriteLine(S"\nThere are {0} values for {1}.", 
        tempKey->ValueCount.ToString(), tempKey->Name);
    String* valueNames __gc [] = tempKey->GetValueNames();
    for(int j = 0; j < valueNames->Length; j++)
    {
        Console::WriteLine(S"{0,-8}: {1}", valueNames[j], 
            tempKey->GetValue(valueNames[j])->ToString());
    }
}

[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 セキュリティ:

  • RegistryPermission (レジストリから読み取りを行うために必要なアクセス許可) Read (関連する列挙体)

参照

RegistryKey クラス | RegistryKey メンバ | Microsoft.Win32 名前空間 | GetValue | GetSubKeyNames