RegistryKey.GetValueNames 메서드

정의

이 키와 관련된 모든 값 이름이 포함된 문자열의 배열을 검색합니다.

public:
 cli::array <System::String ^> ^ GetValueNames();
public string[] GetValueNames ();
member this.GetValueNames : unit -> string[]
Public Function GetValueNames () As String()

반환

String[]

현재 키의 값 이름이 포함된 문자열의 배열입니다.

예외

사용자가 레지스트리 키를 읽는 데 필요한 사용 권한이 없는 경우

조작할 RegistryKey가 닫힌 경우. 닫힌 키는 액세스할 수 없습니다.

사용자에게 필요한 레지스트리 권한이 없는 경우

시스템 오류가 발생한 경우. 예를 들어, 현재 키가 삭제되었습니다.

예제

이 코드 예제는에 대해 제공 된 큰 예제의 일부는 RegistryKey 클래스입니다.

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

   }
}
// 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());
        }
    }
}
' 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

설명

키에 대한 값 이름이 없으면 빈 배열이 반환됩니다.

레지스트리 키에는 기본값, 즉 이름이 빈 문자열("")인 이름/값 쌍이 있을 수 있습니다. 레지스트리 키에 대해 기본값이 설정된 경우 메서드에서 반환된 배열에는 GetValueNames 빈 문자열이 포함됩니다.

적용 대상

추가 정보