Windows Registry auslesen



  • Hallo zusammen!

    Ich möchte prüfen, ob ein bestimmtes Programm installiert ist. Wenn ja, soll der Pfad zum Programm zurückgegeben werden. Leider habe ich keine Ahnung, wie ich hierbei vorgehen muss...
    😕



  • Das ist abhängig vom Programm - Es gibt kein zentrales "Anwendungsregister" (nur ein "Uninstall-Register", was Dir sicher nicht weiterhilft)

    Die meisten Anwendungen registriern ihren Installationspfad unter HKEY_CURRENT_USER\Software\<Company>\<Product> (bzw. gleicher Pfad unter HKEY_LOCAL_MACHINE)

    Breauchst Du Hilfew, wie du generell Werte aus der Registry liest?



  • hey Mister Chen. 🕶



  • Hallo Peterchen!

    Danke für Deinen Hinweis.

    Aber ich müsste tatsächlich erstmal wissen, wie ich überhaupt Werte aus der Registry auslesen kann...



  • Deine App Klasse hat dafür eigene Methoden

    zb:
    CString GetProfileString(
    LPCTSTR lpszSection,
    LPCTSTR lpszEntry,
    LPCTSTR lpszDefault = NULL
    );
    Schau mal in der MSDN nach.Da sind sie alle beschrieben



  • @sven: Die Profile-Methoden sind für INI_Darteien gedacht, die seit Win98 (glaub ich) auf bestimmte Registry-Pade gemappt werden - allerdings kann man damit nicht auf beliebig auf die Registry zugreifen.

    @Corvus:
    Der Ablauf ist prinzipiell RegOpenKeyEx (key öffnen), RegQueryValueEx (wert/e abfragen), RegCloseKey (key schließen).

    Guck Dir das am besten in der MSDN an, damit du eine Idee bekommst, wie das funktioniert - und nimm dann eine der zahllosen Registry-Wrapper-Klassen

    z.B. http://www.codeproject.com/system/#Registry


Anmelden zum Antworten