C++ Eintrag in Registry funktioniert nicht

thekiller

Viceinator
Hallo,

ich möchte mein Programm sich selbst in den Autostart eintragen lassen. Leider klappt das einfach nicht. Habe folgendes probiert.

Code:
HKEY hkey; 
HKEY KEY = HKEY_CURRENT_USER; 
char place[100]= {"Software\\Microsoft\\Windows\\CurrentVersion\\Run"};
char name[100]= {"programm"}; 
char value[100]= {"C:\\programm.exe"}; 

RegOpenKeyEx(KEY,(LPCTSTR)place,0, KEY_ALL_ACCESS,&hkey); 
RegSetValueEx(hkey, (LPCTSTR)name, 0, REG_SZ, (BYTE *)value, strlen(value));
RegCloseKey(hkey);

Der Code wird richtig umgesetzt und Programm startet auch ohne Probleme, nur es wird nichts in die Registry eingetragen. Ich hatte es mal geschafft, dass ein Eintrag vorgenommen wird, wo dann der Wert aber nur aus chinesischen Zeichen besteht.

Hier mal der Code dafür:
Code:
string	szNewAppPath;
szNewAppPath	= "C:\\Programm.exe";
HKEY	hkey;
RegOpenKeyEx(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_ALL_ACCESS, &hkey);
RegSetValueEx(hkey, L"Programm", 0, REG_SZ, (BYTE *)szNewAppPath.c_str(), strlen(szNewAppPath.c_str()));
RegCloseKey(hkey);

Pls help!

LG Manuel
 
Zuletzt bearbeitet:
Hi.

Es bringt nichts Fehlermeldungen einfach "weg-zu-casten".
C:
TCHAR place[100]= TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
TCHAR name[100]= TEXT("programm"); 
TCHAR value[100]= TEXT("C:\\programm.exe");
Dann überprüfe den Rückgabewert der Funktionen (siehe MSDN) und ggf. den Fehlercode von GetLastError().

Gruß
 
Zurück