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 per Windows\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...


Anmelden zum Antworten