Registry eintrag anlegen läuft schief
-
brain.exe schrieb:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724923
marginal comment: such a nice site!
das hilft mir nicht weiter sorry
-
hans-sonny schrieb:
brain.exe schrieb:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724923
marginal comment: such a nice site!
das hilft mir nicht weiter sorry
Return value
If the function succeeds, the return value is ERROR_SUCCESS.
If the function fails, the return value is a nonzero error code defined in Winerror.h. You can use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.
-
ja wie gib ich den errorcode denn aus?
-
LONG WINAPI RegSetValueEx( __in HKEY hKey, __in_opt LPCTSTR lpValueName, __reserved DWORD Reserved, __in DWORD dwType, __in_opt const BYTE *lpData, __in DWORD cbData );
Die Funktion hat einen LONG als Rückgabewert.
long var = RegSetValueEx(xyxy) Falls (var != ERROR_SUCCESS){ std::cout << var << std::endl; };
-
Kann man nicht mal eine IDE entwickeln, die jedes mal einen lauten, nervenden Sirenton auslöst, wenn man keine Rückgabewerte auswertet?
Wann lernen Anfänger eigentlich, dass Fehlerbehandlung nicht nur dazu da ist den Benutzer zu informieren, sondern auch dem Programmierer bei der Fehlersuche hilft?
-
also ich hab rausgefunden dass ich eigentlich
RegSetValueEx
benötige wie würde denn der aufruf aussehen um einen neuen value im run ordner anzulegen und diesem dann als wert den pfad meiner exe zuzuweisen?
-
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724923%28v=vs.85%29.aspx Da ist die Syntax, sowie die Parameter angegeben. Wenn du durch die Reg Funktionen rumklickst, wird sich bestimmt ein Beispiel finden lassen.
-
HKEY hKey; PHKEY result; //RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\windows\\currentversion\\run", result); int a = RegOpenKey(HKEY_CURRENT_USER, "Software\\Microsoft\\windows\\currentversion\\run", result); //int b = RegSetValueEx(result, "Blubb", 0, REG_SZ,cString, 0); RegCloseKey(result);
es kommt fehler 998
-
hans-sonny schrieb:
PHKEY result; //RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\windows\\currentversion\\run", result);
es kommt fehler 998
Klar. Du erzeugst eine Zeiger, der ins Nirwana zeigt (PHKEY result) und willst daghin etwas gespeichert bekommen. Klar geht das nicht.
Mein letzter Tipp: Lies mal ein paar Grundlagen was Zeiger sind und lerne die Grundlagen...
Für mich ist hier EOD.PS: Ich poste bewusst keinen richtigen Code, das hindert Dich nämlich am lernen!
-
Btw... wenn du mit Registeryeinträgen anfangen willst, schreib dir eine .reg Datei (z.B. mit fstream) und nutze system("regedit.exe (...)"), ist zwar nicht so elegant, aber anfängerfreundlicher und einfacher zu verstehen, wie ich finde.
Ach ja und informier dich vorher überhaupt mal ein wenig, was die Registery ist