Wo ist der Fehler ??
-
Hi,
wenn ich kompiliere, kommen folgende Fehlermeldungen::\eigene dateien\test sourcecodes\registry\super_reg\reg_functions.h(230) : error C2664: 'strlen' : Konvertierung des Parameters 1 von 'char' in 'const char *' nicht moeglich
Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
c:\eigene dateien\test sourcecodes\registry\super_reg\reg_functions.h(231) : error C2664: 'strlen' : Konvertierung des Parameters 1 von 'char' in 'const char *' nicht moeglich
Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
Fehler beim Ausführen von cl.exe.Die Variablendeklarationen, die den Fehler vermutlich verursachen
char RegPath5[MAX_PATH] = "Control Panel\\Desktop"; char* TileWallp = 0; char* WallpStyl = 0; char* BmpLocation = "C:\\windows\\alicia.bmp";Wenn ich die Fehler anklcike, springt er zu den Zeilen, die mit //X markiert sind
RegOpenKey(HKEY_CURRENT_USER,RegPath5,&hKey); RegSetValueEx(hKey,"TileWallpaper",0,REG_SZ,(BYTE*)TileWallp,strlen(TileWallp)+1);//X RegSetValueEx(hKey,"WallpaperStyle",0,REG_SZ,(BYTE*)WallpStyl,strlen(WallpStyl)+1);//X RegSetValueEx(hKey,"Wallpaper",0,REG_SZ,(BYTE*)BmpLocation,strlen(BmpLocation)+1);Ich verstehe nicht, was er dagegen hat, denn die letze Zeile führt er ja auch ohne
ärger zu machen aus....Bitte helft mir,
DANKE
-
Ups, hab was übersehen...
sorry...
-
Das sind ja auch beides keine gültigen char-Pointer, sondern NULL-Pointer... Nur warum der Compiler da schon meckert und es nicht es beim Ausführen einen Fehler gibt ist mir nicht ganz klar, denn eigentlich sind es ja char-Pointer (vom Typ her)
-
mhh aber das merkwürdigste ist ja, das es bei der letzten zeile, wo ich den wert auf c:\windows\alicia.bmp setze es keine probleme gibt....
wie könnte also eine mögliche Lösung aussehen ??
-
Was soll überhaupt der RegSetValueEx Aufruf? Willst du den Inhalt des Schlüssels löschen? Dann nimm einfach "".
-
Ich würde gerne die beiden Einträge
HKEY_CURRENT_USER\Control Panel\Desktop\TileWallpaper (1)
HKEY_CURRENT_USER\Control Panel\Desktop\WallpaperStyle (2)auf Null (0) setzen, sie sind vom Typ Zeichenfolge und ihren aktuellen
zustand habe ich mal in () dahinter geschrieben !!leider funktioniert es nicht....
-
Willst du es auf einen leeren String setzen, dann "" - bei 0 eben dann wohl "0"

-
OK hat sich erledigt

Fehler war bei den variablendeklarationen !!char* TileWallp = 0; char* WallpStyl = 0;hätte es so machen müssen !!
char* TileWallp = "0"; char* WallpStyl = "0";Trotzdem betsen dank !!!
-
Danke @flenders, hatte den Fehler grade selber gefunden und den Post reingesetzt, dann sah ich nach der aktualisierung meiners browsers ,
deine antwort, die gleiches beinhaltet !!Hab den Fehler aber selbst auch bemerkt
*STOLZ* 
DANK