Registry durchsuchen

16/10/2008 - 10:17 von Andrej Golubew | Report spam
Hallo zusammen,

ich möchte gerne in Registry nach bestimmte RegKeyValues suchen. Dafür muss
ich jeder Schlüssel besuchen, warscheinlich rekursiv.


Hier ist meine Funktion:

static void FindAndReplace(ref RegistryKey OurKey, string strKeyName)
{

OurKey = OurKey.OpenSubKey(strKeyName, true);
foreach (string valuename in OurKey.GetSubKeyNames())
{
if ( OurKey != null) FindAndReplace(ref OurKey,
valuename);
Console.WriteLine(valuename);
}

}


So wird diese Funktion abgerufen:

static void Main(string[] args)
{

RegistryKey OurKey = Registry.Users;
RegistryKey OurKey = Registry.Users;
FindAndReplace(ref OurKey,"");
Console.Read();
}

Bei diese Schlüssel
{HKEY_USERS\\.DEFAULT\AppEvents\EventLabels\AppGPFault}bekomme ich Fehler
"OurKey null" ist.

Hat jemand Idee warum passiert es?
 

Lesen sie die antworten

#1 Andrej Golubew
16/10/2008 - 10:53 | Warnen spam
Ich habe die Funktion verbessert:

static void FindAndReplace(RegistryKey OurKey, string strKeyName)
{
OurKey = OurKey.OpenSubKey(strKeyName, true);
foreach (string keyname in OurKey.GetSubKeyNames())
{
if (OurKey.SubKeyCount > 0) FindAndReplace(OurKey,
keyname);
foreach (string valuename in OurKey.GetValueNames())
{
Console.WriteLine(OurKey.Name.ToString() + @"=" +
OurKey.GetValue(valuename).ToString());
}
}
}


Nur gewünschte Ergebniss bekomme ich nicht. Aber andere Fehler:

Für
Schlüssel{HKEY_USERS\\.DEFAULT\Software\Microsoft\SystemCertificates\Root\ProtectedRoots}


Der angeforderte Registrierungszugriff ist unzulàssig.


"Andrej Golubew" wrote:

Hallo zusammen,

ich möchte gerne in Registry nach bestimmte RegKeyValues suchen. Dafür muss
ich jeder Schlüssel besuchen, warscheinlich rekursiv.


Hier ist meine Funktion:

static void FindAndReplace(ref RegistryKey OurKey, string strKeyName)
{

OurKey = OurKey.OpenSubKey(strKeyName, true);
foreach (string valuename in OurKey.GetSubKeyNames())
{
if ( OurKey != null) FindAndReplace(ref OurKey,
valuename);
Console.WriteLine(valuename);
}

}


So wird diese Funktion abgerufen:

static void Main(string[] args)
{

RegistryKey OurKey = Registry.Users;
RegistryKey OurKey = Registry.Users;
FindAndReplace(ref OurKey,"");
Console.Read();
}

Bei diese Schlüssel
{HKEY_USERS\\.DEFAULT\AppEvents\EventLabels\AppGPFault}bekomme ich Fehler
"OurKey null" ist.

Hat jemand Idee warum passiert es?




Ähnliche fragen