...即使用戶通過雙擊不同於可執行文件的目錄中的關聯文件來打開應用程序。我一直使用ExtractFilePath(Application.EXEName),但是這個函數在這種情況下不能像希望的那樣工作。什麼代碼會讓我找到編譯的可執行文件的目錄?
0
A
回答
0
另請嘗試使用ParamStr(0)。當application.exename不適用時,這可能會起作用嗎?
+3
這正是'ExeName'屬性返回的內容。 – 2010-10-27 22:42:24
5
ExeName
回報ParamStr(0)
這反過來又返回由GetModuleFileName
與hModule
集合產生的爲0。我看不出有任何理由爲什麼這不會在一個正常的應用程序中工作的字符串。
0
ExePath:= ExtractFilePath(paramstr(0));
我一直這樣做,並且它總是可以工作,無論它在哪個操作系統上運行。
相關問題
- 1. 爲什麼我編譯Java代碼時找不到文件?
- 2. 編譯代碼和可執行代碼有什麼區別?
- 3. 修補代碼到MASM編譯的可執行文件
- 4. 爲什麼編譯`* .clj`源程序也會執行代碼?
- 5. 爲什麼我會得到「文件的父目錄不可寫?」
- 6. 代碼塊編譯但無法運行可執行文件
- 7. 爲什麼我的代碼找不到目錄
- 8. 執行exec函數的python代碼是否被編譯爲可執行文件?
- 9. 爲什麼在C++中添加註釋會改變已編譯的代碼(對象)和可執行文件
- 10. 即使我編譯源代碼,爲什麼我的makefile會重新編譯?
- 11. 編譯器是否只編譯可以執行的代碼?
- 12. 查找我的應用程序,已編譯的可執行代碼
- 13. GTK3編譯不會找到我實際編譯的GLib2.0。我錯過了什麼?
- 14. 如何在目錄中找到最新的可執行文件
- 15. 編譯的C文件不可執行
- 16. 如何讓我的java代碼編譯?
- 17. 難以讓Jgrasp編譯我的代碼
- 18. 要執行什麼文件BLE代碼
- 19. 在編譯的nsis可執行文件中運行導入的nsis代碼
- 20. perl - 爲什麼退出代碼0如果錯誤文件沒有找到,我可以讓它的代碼1?
- 21. 無法從可執行文件jar中找到javac編譯器
- 22. 編譯器可執行文件VBC.EXE無法找到
- 23. Java可執行文件jar。這段代碼是做什麼的?
- 24. C#可執行文件執行目錄
- 25. 當由.NET編譯時,可執行文件包含什麼?
- 26. 爲什麼我的grunt/Sass/Ruby代碼中找不到「找不到這樣的文件或目錄」?
- 27. 我的代碼編譯,執行但程序崩潰到底
- 28. 我在哪裏可以找到編譯器的代碼?
- 29. 更改編譯的可執行文件的.NET Framework目標
- 30. 爲什麼不可以編譯我的代碼?
它絕對應該工作。 – 2010-10-27 21:47:16
'ExtractFilePath(Application.EXEName)'應該可以工作。它做錯了什麼? – 2010-10-27 22:00:04
難道Vista和Win7不允許讀取或操作\ ProgramFiles內的文件嗎? (我很抱歉,我現在沒有與我有關的實際錯誤信息...用戶在其他地方)。 – 2010-10-27 22:10:14