Frage zum Lesen von Regestry Einträgen
-
Hallo, ich möchte in meinem Programm den InstallPath einer Andwendung lesen. Dazu habe ich folgende Funktion geschrieben:
String^ getPath() { String^ path = "HKEY_CURRENT_USER\\SOFTWARE\\PROGRAMMNAME"; String^ Value = (String^)Registry::GetValue( path, "InstallPath", "Oops! Not found!"); return Value; }
Das funktioniert soweit auch. Ich glaube aber, wenn es das Verzeichnos PROGRAMMNAME garnicht gibt, dass das Programm abstürzt. Stimmt das? Wie finde ich heraus, ob es den Eintrag "HK_CURRENT_USER\\SOFTWARE\\PROGRAMMNAME" gibt?
-
Wie wäre es mit einem try catch Block drum herum?
-
So vielleicht ?
HKEY hKey; int err_code = RegOpenKeyEx(HKEY_CURRENT_USER,"SOFTWARE\\PROGRAMMNAME",0,KEY_ALL_ACCESS,&hKey); if (err_code == ERROR_SUCCESS) { String^ value = GetValue ("HKEY_CURRENT_USER\\SOFTWARE\\PROGRAMMNAME\\","InstallPath", nullptr); ... } RegCloseKey (hKey);
-
Nein eigentlich bin ich bei .Net: http://www.functionx.com/vccli/general/exceptions.htm