Einzelne Registry Ordner rekursiv auslesen?

30/04/2009 - 20:54 von Peter N. | Report spam
Hi,

wie kann ich bestimmt Ordner Registry Ordner rekursiv auslesen? Bisher habe
ich bloß eine Möglichkeit gefunden, einzelne Werte auszulesen :( ?
 

Lesen sie die antworten

#1 Frank Dzaebel
01/05/2009 - 09:39 | Warnen spam
Hallo Peter,

wie kann ich bestimmt Ordner Registry Ordner rekursiv auslesen?



Der "Ordner" ist nur mit dem Ordner àhnlichen Symbol
in regedit dargestellt, man spricht eher von Schlüsseln
und Unterschlüsseln (Key, SubKey). Insofern kann
hier die OpenSubKey Methode angewandt werden:

private void Form1_Load(object sender, EventArgs e)
{
//Alle Sub-Schlüssel von myRegPath in einem String
string myRegPath = @"Software\Microsoft\.NETFramework";
RegistryKey quellKey = Registry.CurrentUser;
quellKey = quellKey.OpenSubKey(myRegPath, false);
MessageBox.Show(GetSubKeys(quellKey));
}

private string GetSubKeys(RegistryKey subKey)
{
if (subKey == null) return "";
StringBuilder sb = new StringBuilder();
foreach (string sub in subKey.GetSubKeyNames())
{
sb.AppendFormat("{0}, ", sub);
RegistryKey local = Registry.Users;
try
{
local = subKey.OpenSubKey(sub, true);
sb.Append(GetSubKeys(local));
}
catch (Exception) {/*falls keine Brechtigung*/}
}
return sb.ToString();
}


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen