Selbst-Autostart
-
Hi @ All!
Ich habe eine exe!
diese exe soll sich selbst! in die Registry in den Autostart-Run-ordner packen.
wie mache ich das?
danke!
-
Verknüpfung erstellen steht in der FAQ

Autostart-Ordner sollte man mit SHGetSpecialFolderPath() dran kommen.
-
ok, thx.
aber ich möchte das in die Registry eintragen!!!!
nicht in den Autostart-Ordner sondern in den Run-Schlüssel.
txh.
-
Registry-Fuscherei steht auch in der FAQ:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39373.html
-
was ist daran falsch:
ich habe einen Pfad, der zur Awenduung führt. (LPCSTR) lpPath.
wie bekomme ich dein vernünftig in BYTE konvertiert?
thx.{ HKEY hKey; RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,&hKey); if (hKey) { BYTE hValue[MAX_PATH+2] = (unsigned)(char)lpPath; RegSetValueEx(hKey,"EintragsName",0,REG_SZ,&hValue,sizeof(lpPath)+1); RegCloseKey(hKey); return true; } else return false; }
-
Bevor du so 'wilde' Bytearrays anlegst, wie wär's wenn du einfach den Zeiger auf die Zeichenkette übergibst:
RegSetValueEx(hKey, TEXT("EintragsName"), 0, REG_SZ, (LPBYTE)lpPath, (lstrlen(lpPath) + 1) * sizeof(TCHAR));Der letzte Paramater gibt die Anzahl der zu schreibenden Bytes (bei Zeichenketten inklusive der Nullterminierung) an - nicht die Gesamtgröße des Puffers, der die Zeichenkette beinhaltet.
-
hey danke mann!