Pfad der Anwendung zur Laufzeit bestimmen?
-
Hallo,
weiß jemand von euch wie ich den Pfad einer Anwendung zur Laufzeit bestimmen kann? Ich möchte darin ein Verzeichnis anlegen um temporäre Daten zu speichern.
-
GetCurrentDirectory?
-
danke
-
GetModuleFileName gibt dir den Pfad zur .exe, wenn du als Module-Handle NULL übergibst.
In diesem Pfad suchst du den letzen \, und scheidest alles was danach kommt weg.
Dann hast du das Verzeichnis wo das Programm drinnen steht.GetCurrentDirectory() liefert dir bloss das "Current Directory", also das "aktuelle Verzeichnis". Das was man in einer DOS-Box mit "cd" ändert.
Das ist beim Start des Programms oft das Verzeichnis in dem das Programm liegt, aber nicht immer. Und es kann sich auch ändern, während das Programm läuft.
z.B. wenn man einen Open-File Dialog aufmacht.-> verwende lieber GetModuleFileName
-
Allerdings sollte man dann in diesem Verzeichnis keine Verzeichnisse oder Dateien anlegen sonst funktioniert es glaub ich nicht unter Vista.
-
o schrieb:
Allerdings sollte man dann in diesem Verzeichnis keine Verzeichnisse oder Dateien anlegen sonst funktioniert es glaub ich nicht unter Vista.
In "diesem Verzeichnis" darf man machen was man will.
Blöd ist nur wenn "dieses Verzeichnis" zufällig ein Unterverzeichnis von "C:\Programs" ist...
-
Kann man in einer ähnlichen Art und Weise das Temp-Verzeichnis ermitteln, wäre ja für meine Absichten geeigneter?
-
GetTempPath
http://msdn.microsoft.com/en-us/library/aa364992(VS.85).aspxAnsonsten ShGetFolderPath
http://msdn.microsoft.com/en-us/library/bb762181(VS.85).aspx
-
DANKE !!!