Problem mit Zugriffsrechten nach Autostart aus Registry
-
Hallo allerseits,
ich starte mein Programm über die Registry HKLU. Mein Programm startet auch wunderbar nur kann es nach dem Start eine Textdatei nicht öffnen. Wenn ich das Programm so starte oder über den Autostart-Ordner gibt es keine Probleme.
Kann das etwas mit Windows Zugriffsrechten zu tun haben?
void registry(BYTE* path) { HKEY hkey; RegOpenKeyEx(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0L, KEY_ALL_ACCESS, &hkey); RegSetValueEx((HKEY)hkey, "profiler", 0, REG_SZ, (BYTE *)path, strlen(path) + 1);// on success RegCloseKey(hkey); } FILE *file; file = fopen(LOGFILE, "a+"); if(file == NULL) {printf("Couldnt open file!"); return;} if(fputs(string, file) != 0) printf("Error fputs!"); fclose(file);
-
Wenn du das Programm "normal" startest wird es mit Current Directory == da wo es liegt gestartet.
Wenn du das Programm per Verknüpfung in Autostart startest wird es mit Current Directory == was halt im Link eingestellt ist (Default vermutlich auch das Verzeichnis wo das Programm liegt, müsste ich ausprobieren und bin grad zu faul) gestartet.
Wenn du das Programm perWindows\CurrentVersion\Run
wird es mit Current Directory ==%SystemRoot%\system32
gestartet.Und jetzt die Frage: könnte es sein dass
LOGFILE
vielleicht ein relativer Pfad ist?
-
Hallo hustbaer, vielen lieben Dank für die schnelle Antwort. Ich glaube daran liegt es...