Die Registry - howto ??
-
hol dir mal mit GetLastError den Fehlercode
-
loki1985 schrieb:
erstens lieber main(void),
Quatsch, das ist egal
-
ok habe es jetzt so gemacht
#include <stdio.h> #include <iostream.h> #include <windows.h> #include <string.h> int main() { char RegPath[MAX_PATH] = "Software\\Microsoft\\Windows\\CurrentVersion\\Run"; HKEY hKey; RegOpenKey(HKEY_LOCAL_MACHINE,RegPath,&hKey); DWORD dwNumber=150; RegSetValueEx(hKey,"EintragsName",0,REG_DWORD,(BYTE*)&dwNumber,sizeof(DWORD)); cout << GetLastError(); return 0; }Dann gibt er mir ne 0 aus
-
aber funktioniert immer noch nicht....
wieso ??
was heisst die 0 ??
-
Ich habe es mal folgendermaßen gemacht....
#include <stdio.h> #include <iostream.h> #include <windows.h> #include <string.h> int main() { char RegPath[MAX_PATH] = "Software\\Microsoft\\Windows\\CurrentVersion\\Run"; HKEY hKey; RegOpenKey(HKEY_LOCAL_MACHINE,RegPath,&hKey); DWORD dwNumber=150; RegSetValueEx(hKey,"EintragsName",0,REG_DWORD,(BYTE*)&dwNumber,sizeof(DWORD)); BYTE cString[]="C:\games\icytower1.2\icytower.exe"; :confused: RegSetValueEx(hKey,"IcyTower",0,REG_SZ,cString,strlen(cString)+1); cout << GetLastError(); return 0; }An der Stelle mit dem
kommt folgender FehlerKompilierung läuft... registry.cpp C:\Eigene Dateien\Test Sourcecodes\registry.cpp(18) : error C2664: 'strlen' : Konvertierung des Parameters 1 von 'unsigned char [34]' in 'const char *' nicht moeglich Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat Fehler beim Ausführen von cl.exe. registry.exe - 1 Fehler, 0 Warnung(en)Wie genau muss diese Zeile dann aussehen ??
-
Dieser Thread wurde von Moderator/in Shade Of Mine aus dem Forum ANSI C in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
hallo,
so _kann_ eine mögliche Lösung aussehen:
char* cString = "C:\\games\\icytower1.2\\icytower.exe";
RegSetValueEx(hKey,"IcyTower",0,REG_SZ,(BYTE*)cString,strlen(cString)+1);mfg
rb
-
aua... bitte:
char cString[] = "C:\\games\\icytower1.2\\icytower.exe";Du scheinst ein ziemlicher Icytower-freak zu sein wenn du schon beim starten des pcs icytowere spielen willst ^^ :p
-
du musst auf const char * casten in strlen
-
hi,
bei mir gehts so wie´s "kein-Benutzer"
geschrieben hat
-> compiler Borland c++
mfg dr.melon