Hey Freunde des Programmierens,
mein Programm lasse ich per Autostart (Autostart-Eintrag in Registry --> "SOFTWARE\Microsoft\Windows\CurrentVersion\Run") automatisch mit Windows starten.
Das Programm greift unter anderem auf ein paar Dateien zu, welche im gleichem Ordner liegen wie die Startdatei des Programms. (Bsp.: Desktop\MeinProgramm\MeinProgramm.exe).
Nun ist mir aufgefallen, dass wenn das Programm per Autostart gestartet wird, "CurrentDirectory" ist "Windows\System32" und nicht wie es eigentlich sein soll, das gleiche wie "Desktop\MeinProgramm"("Application.StartupPath").
Abgefragt habe ich es, wie folgt :
Gibt es hier eine Abhilfe, dass auch "CurrentDirectory" der gleiche Pfad ist, wie "Application.StartupPath" wenn das Programm per Autostart gestartet wird?
mein Programm lasse ich per Autostart (Autostart-Eintrag in Registry --> "SOFTWARE\Microsoft\Windows\CurrentVersion\Run") automatisch mit Windows starten.
Das Programm greift unter anderem auf ein paar Dateien zu, welche im gleichem Ordner liegen wie die Startdatei des Programms. (Bsp.: Desktop\MeinProgramm\MeinProgramm.exe).
Nun ist mir aufgefallen, dass wenn das Programm per Autostart gestartet wird, "CurrentDirectory" ist "Windows\System32" und nicht wie es eigentlich sein soll, das gleiche wie "Desktop\MeinProgramm"("Application.StartupPath").
Abgefragt habe ich es, wie folgt :
Quellcode
- Label8.Text = Application.StartupPath
- Label9.Text = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)
- Label10.Text = AppDomain.CurrentDomain.BaseDirectory
- Label11.Text = System.IO.Directory.GetCurrentDirectory() '<--- ist anderer Pfad (System32) als das Programm
- Label12.Text = Environment.CurrentDirectory '<--- ist anderer Pfad (System32) als das Programm
- Label13.Text = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
- Label14.Text = System.IO.Path.GetDirectoryName(Application.ExecutablePath)
Gibt es hier eine Abhilfe, dass auch "CurrentDirectory" der gleiche Pfad ist, wie "Application.StartupPath" wenn das Programm per Autostart gestartet wird?