天天看點

C#中擷取應用程式路徑的方法(集合)

string str1 =Process.GetCurrentProcess().MainModule.FileName;//可獲得目前執行的exe的檔案名。

string str2=Environment.CurrentDirectory;//擷取和設定目前目錄(即該程序從中啟動的目錄)的完全限定路徑。

   //備注 按照定義,如果該程序在本地或網絡驅動器的根目錄中啟動,則此屬性的值為驅動器名稱後跟一個尾部反斜杠(如“C:/”)。如果該程序在子目錄中啟   動,則此屬性的值為不帶尾部反斜杠的驅動器和子目錄路徑(如“C:/mySubDirectory”)。

string str3=Directory.GetCurrentDirectory();//擷取應用程式的目前工作目錄。

string str4=AppDomain.CurrentDomain.BaseDirectory;//擷取基目錄,它由程式集沖突解決程式用來探測程式集。

string str5=Application.StartupPath;//擷取啟動了應用程式的可執行檔案的路徑,不包括可執行檔案的名稱。

string str6=Application.ExecutablePath;//擷取啟動了應用程式的可執行檔案的路徑,包括可執行檔案的名稱。

string str7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//擷取或設定包含該應用程式的目錄的名稱。

1.      System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName

        擷取子產品的完整路徑。

2.      System.Environment.CurrentDirectory

        擷取和設定目前目錄(該程序從中啟動的目錄)的完全限定目錄。

3.      System.IO.Directory.GetCurrentDirectory()

        擷取應用程式的目前工作目錄。這個不一定是程式從中啟動的目錄啊,有可能程式放在C:/www裡,這個函數有可能傳回C:/Documents and Settings/ZYB/,或者C:/Program Files/Adobe/,有時不一定傳回什麼東東,我也搞不懂了。

4.     System.AppDomain.CurrentDomain.BaseDirectory

        擷取程式的基目錄。

5.     System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase

        擷取和設定包括該應用程式的目錄的名稱。

6.     System.Windows.Forms.Application.StartupPath

        擷取啟動了應用程式的可執行檔案的路徑。效果和2、5一樣。隻是5傳回的字元串後面多了一個"/"而已

7.     System.Windows.Forms.Application.ExecutablePath

        擷取啟動了應用程式的可執行檔案的路徑及檔案名,效果和1一樣。

對于Windows程式 和Web 應用程式來說,他們運作的路徑是不一樣的,是以關鍵是判斷目前運作的程式是哪種程式.于是我們可以使用如下的代碼 string path = "";

           if (System.Environment.CurrentDirectory == appDomain.CurrentDomain.BaseDirectory)//Windows應用程式則相等

           {

                 path = AppDomain.CurrentDomain.BaseDirectory;

             }

           else

                 path = AppDomain.CurrentDomain.BaseDirectory + "Bin/";

這樣如果我們寫了一個類庫,類庫中用到了Assembly.LoadFrom,由于是通用類庫,是以可能用到Windows程式中也可能用到Web中,那麼用上面的代碼就很友善了.

繼續閱讀