Registry Schlüssel prüfen



  • Hallo Ihr,

    gibt es eine Funktion um zu prüfen ob der Schlüssel in der Registry schon vorhanden ist?
    Habe es mit Microsoft::Win32 versucht, aber nix gefunden.
    Kann mir einer helfen?

    Gruß



  • Warum findest du da nichts?
    wenn nötig einen Verweiss erstellen und den namensraum vereinbaren:

    using namespace Microsoft::Win32;
    

    und dann:

    String ^strKey = "DeinSchlüssel";
    String ^strKeyName = "HKEY_CURRENT_USER\\" + strKey;
    Int32 intIsReg = (Int32)Registry::GetValue(strKeyName, "", -1);
    if(intIsReg != -1)
        MessageBox::Show("Schlüssel " + strKey + " ist vorhanden", "OK");
    else
        MessageBox::Show("Der Schlüssel " + strKey + " wurde nicht gefunden", "Fehler");
    


  • Funzt nicht.
    Der Wert ist immer -1, obwohl der Schlüssel vorhanden ist.
    Liegt es vllt. an das Lerszeichen?

    Int32 intIsReg = (Int32)Registry::GetValue(strKeyName, "", -1);

    Ich weiß keinen Rat.

    Hast Du noch einen anderen Tip?



  • nun,

    es gibt verschiedene User Roots:

    HKEY_CLASSES_ROOT
    HKEY_CURRENT_USER
    HKEY_LOCAL_MACHINE
    HKEY_USERS
    HKEY_CURRENT_CONFIG

    Ich hab dir nur das beispiel mit dem Gängigsten gegeben. Vllt liegt´s daran?



  • HA
    Hallo denjo,

    ich habe die Schlüssel schon angepasst.
    Ich werde mal versuchen einen Leer-Unterschlüssel in meinen Schlüssel zu packen, mal sehen ob es dann funzt.
    Da die if-Anweisung ja nach einen Leer-Unterschlüssel sucht.
    Ich melde mich dann wieder.

    Gruß Zecher


Anmelden zum Antworten