Freigeben über


RegistryKey.GetSubKeyNames Methode

Definition

Ruft ein Array von Zeichenfolgen mit den Namen aller Unterschlüssel ab.

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

Gibt zurück

String[]

Ein Array von Zeichenfolgen, das die Namen der Unterschlüssel des aktuellen Schlüssels enthält.

Ausnahmen

Der Benutzer verfügt nicht über die erforderlichen Berechtigungen, um aus dem Schlüssel zu lesen.

Der zu bearbeitende RegistryKey ist geschlossen (auf geschlossene Schlüssel kann nicht zugegriffen werden).

Der Benutzer verfügt nicht über die notwendigen Registrierungsrechte.

Ein Systemfehler ist aufgetreten, möglicherweise wurde der aktuelle Schlüssel gelöscht.

Beispiele

Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die RegistryKey-Klasse bereitgestellt wird.

// 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

Hinweise

Diese Methode sucht namen nicht rekursiv. Sie gibt die Namen auf der Basisebene zurück, von der sie aufgerufen wurde.

Gilt für:

Weitere Informationen