天天看點

C# 擷取應用程式目前目錄

一客戶回報,軟體(C#)手動打開時正常,而設定為開機啟動後,播放視訊的功能失效。

測試發現,是開機啟動時,程式沒有找到視訊檔案的路徑。因為此時擷取的目前路徑是 C:\windows\system32。

C# 擷取應用程式目前目錄

查資料,修改了寫法,問題解決,總結如下:

如果軟體是使用者手動打開的,擷取目前目錄方法如下,擷取的是一個exe檔案所在的檔案夾路徑。

System.Environment.CurrentDirectory
           

如果軟體需要開機啟動,則擷取目前目錄的方法如下:

string adPath = System.Reflection.Assembly.GetEntryAssembly().Location;
           
C# 擷取應用程式目前目錄

擷取的是exe自身所在路徑,為了擷取它所在的檔案夾路徑,還需要再做一部處理,用Substring方法把exe的名稱拿掉:

adPath = adPath.Substring(0, adPath.LastIndexOf("\\"));
           

第二種方法更全面。