Wenn man mittels RegistryKey.OpenSubKey einen tief verzweigten Schlüssel öffnen möchte, aber nicht weis, ob alle Unterschlüssel existieren, hilft dieser Code weiter.
Er teilt den Schlüssel-Pfad in die einzelnen Unterschlüssel auf, und erstellt die Struktur, falls diese noch nicht vorhanden ist.
Rückgabe ist die RegistryKey-Instanz des letzten Schlüssels des übergebenen Pfads.
Benötigt wird Microsoft.Win32
/// <summary>
/// Open a registry sub key
/// If key not exists, it will be created
/// </summary>
/// <param name="StartKey">Key to start from</param>
/// <param name="SubKey">Path of sub key</param>
/// <returns>resulting registry key</returns>
public RegistryKey OpenSubKey(RegistryKey StartKey, String SubKey)
{
String[] SubKeys = SubKey.Split(new Char[] { '\\' });
foreach (String key in SubKeys)
StartKey = StartKey.CreateSubKey(key);
return StartKey;
}
Kommentare zum Snippet