Registry Eintrag

sunflower84

Erfahrenes Mitglied
Hallo

Ich benutze den Dev C++ Compiler und würde gerne einen Registry Eintrag machen wenn die exe gestartet wurde.
Unter HKEY_LOCAL_MACHINE\Software soll ein Ordern TEST1 mit Unterordner TEST2 erstellt werden. In Test2 ein KEY mit dem Namen TESTKEY und einen Wert als Pfad.
Wie mache ich so etwas?

Liebe Grüße
Sunflower84
 
Danke, werde ich mir mal anschauen.
Hab da mal folgendes versucht:
HKEY hKey;
RegCreateKeyEx(HKEY_CURRENT_USER,"Test",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,0);

Funktioniert auch. Ordner "Test" wurde angelegt. Aber solbald ich HKEY_CURRENT_USER in HKEY_LOCAL_MACHINE änder geht es nicht.
Kann mir jemand sagen warum?
 
Hab das mal so gemacht:
RegCreateKeyEx(HKEY_LOCAL_MACHINE,"Software\\Test1\\Test2",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,0);
const unsigned char valueData[] = "C:\\";
RegSetValueEx(hKey,"TESTKEY",0,REG_SZ,valueData,sizeof(valueData));

Funktioniert auch super. Aber hab noch ein Problem. Der value der momentan "C:\\" heißt, soll der Pfad sein, wo sich die exe gerade befindet die aufgerufen wurde.Wie gebe ich das an?

Liebe Grüße
Sunflower84
 
Die API-Funktion "GetModuleFileName()" liefert dir den vollständigen Pfad deiner EXE.
Ähnliche Themen wurden im Forum schon behandelt, also einfach mal suchen.

Gruß
MCoder
 
Das habe ich auch schon gemacht und zwar so:
char str[MAX_PATH];
GetModuleFileName(NULL,str,MAX_PATH);

Wenn ich aber jetzt MAX_PATH valueData[] zuweise, dann bekomme ich einen Fehler.

Liebe Grüße
Sunflower84
 
Also ich habe nichts gefunden.
Nur das es mit GetModuleFileName geht. Aber wie weise ich der Variablen valueData[] den Wert zu?
 
Nimm doch gleich "str":
C++:
RegSetValueEx( hKey,
               "TESTKEY",
               0,
               REG_SZ,
               reinterpret_cast<CONST BYTE *>(str),
               str.strlen() );
Gruß
MCoder
 
Wenn ich das so mache bekomme ich folgende Fehlermeldung:
request for member strlen in str, which is of non-class type char[260]

Gruß
Sunflower84
 
Zurück