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