如何獲取當前程式檔案的路徑

2021-04-12 17:16:43 字數 517 閱讀 2281

程序物件在.net中表現為system.diagnostics.process類,通過呼叫process.getcurrentprocess().mainmodule.filename可獲得當前執行的exe的檔名。但是這個方法得到的僅僅是檔名,如果程式執行期間沒有切換工作目錄,那麼可以呼叫system.io.path的方法獲取絕對路徑。但是當前目錄同樣可以通過environment.currentdirectory獲得,而且很多軟體在使用open dialog開啟檔案的時候,都會切換工作目錄,而使得這一機制失效。

但是使用assembly的時候,可能會遇到許可權方面的問題,同時assembly.getcallingassembly或者assembly.getexecutingassembly有可能得到的不是.exe檔案的位置。在gac中的新增了強名的assembly,執行時是可以不必與.exe在同一目錄的。

在通過以上方法取到所需的目錄後,可以呼叫system.io.path的方法獲取檔名,目錄名,絕對路徑等。停止對路徑字串的分析,而改用system.io.path類吧。

如何獲取當前程式檔案的路徑

獲取當前程式檔案的路徑也算是乙個比較常見的需求,比如我有乙個檔案conn.xml位於.exe的同一目錄,在執行時需要從中讀取一些設定資訊。程序物件在.net中表現為system.diagnostics.process類,通過呼叫process.getcurrentprocess mainmodule...

獲取當前程式路徑

獲取部件所在位置。如果其所在的dll在gac中,那返回的就是gac中的路徑。str this.gettype assembly.location 獲取新的process元件並將其與當前活動的程序關聯的主模組的完整路徑,包含檔名 程序名 str system.diagnostics.process.g...

Delphi 獲取當前程式路徑

在delphi sysutils 單元中 edit1.text paramstr 0 自己全路徑c 555 qq.exe,可用於控制台 edit2.text extractfiledir paramstr 0 獲取本程式的路徑 c qq expandfilename 返回檔案的全路徑 含驅動器 路徑...