c 中如何取得應用程式執行路徑

2021-08-13 13:08:47 字數 4069 閱讀 8261

string str1 =process.getcurrentprocess().mainmodule.filename;//可獲得當前執行的exe的檔名。 

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

//備註 按照定義,如果該程序在本地或網路

驅動器的根目錄中啟動,則此屬性的值為

驅動器名稱後跟乙個尾部反斜槓(如「c:/」)。如果該程序在子目錄中啟動,則此屬性的值為不帶尾部反斜槓的

驅動器和子目錄路徑(如「c:/mysubdirectory」)。

string str3=directory.getcurrentdirectory();//獲取應用

程式的當前工作目錄。

程式集衝突解決

程式用來探測

程式集。

程式的可執行檔案的路徑,不包括可執行檔案的名稱。

程式的可執行檔案的路徑,包括可執行檔案的名稱。

程式的目錄的名稱。

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/,有時不一定返回什麼東東,我也搞不懂了。

獲取 程式的基目錄。

獲取和設定包括該應用

程式的目錄的名稱。

獲取啟動了應用

程式的可執行檔案的路徑。效果和2、5一樣。只是5返回的字串後面多了乙個"/"而已

獲取啟動了應用

程式的可執行檔案的路徑及檔名,效果和1一樣。 

*************************

對於.net。有如下幾種方式取得應用

程式路徑。

2、system.windows.forms.startuppath

3、type.assembly.location

方法2可以應用於控制台應用

程式,winform應用

程式,windows服務,方法1可以應用於web應用

程式,方法3都可以應用。

但方法3是載入應用

程式的路徑。如果是web應用

***************====

c#獲取當前應用

程式所在路徑

一、獲取當前檔案的路徑

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/,有時不一定返回什麼東東,這是任何應用

程式最後一次操作過的目錄,比如你用word開啟了e:/doc/my.doc這個檔案,此時執行這個方法就返回了e:/doc了。

獲取 程式的基目錄。

獲取和設定包括該應用

程式的目錄的名稱。

獲取啟動了應用

程式的可執行檔案的路徑。效果和2、5一樣。只是5返回的字串後面多了乙個"/"而已

獲取啟動了應用

程式的可執行檔案的路徑及檔名,效果和1一樣。 

二、操作環境變數

利用system.environment.getenvironmentvariable()方法可以很方便地取得系統環境變數,如:

system.environment.getenvironmentvariable("windir")就可以取得windows系統目錄的路徑。

以下是一些常用的環境變數取值:

system.environment.getenvironmentvariable("windir");

system.environment.getenvironmentvariable("include");

system.environment.getenvironmentvariable("tmp");

system.environment.getenvironmentvariable("temp");

system.environment.getenvironmentvariable("path");

最後貼出我進行上面操作獲得的變數值,事先說明,本人是編寫了乙個winform

system.environment.getenvironmentvariable("windir")=c:/windows

system.environment.getenvironmentvariable("include")=c:/program files/microsoft visual studio .net 2003/sdk/v1.1/include/

system.environment.getenvironmentvariable("tmp")=c:/docume~1/zhoufoxcn/locals~1/temp

system.environment.getenvironmentvariable("temp")=c:/docume~1/zhoufoxcn/locals~1/temp

system.environment.getenvironmentvariable("path")=c:/windows/system32;c:/windows;c:/windows/system32/wbem;c:/jdk1.5.0/bin;c:/mysqlserver5.0/bin;c:/program files/symantec/pcanywhere/;c:/program files/microsoft sql server/80/tools/binn

對於windows

程式 和web 應用

程式來說,他們執行的路徑是不一樣的,所以關鍵是判斷當前執行的

程式是哪種

程式.於是我們可以使用如下的** 

string path = "";

程式則相等

else

這樣如果我們寫了乙個類庫,類庫中用到了assembly.loadfrom,由於是通用類庫,所以可能用到windows

程式中也可能用到web中,那麼用上面的**就很方便了.

******************************==

1.

2.c# winform

程式所在目錄的路徑,最後不包含「/」;

程式檔案的路徑,包含檔案的名稱;

程式所在目錄的路徑,最後包含「/」;

d:「system.threading.thread.getdomain().basedirectory」:獲取當前應用

程式所在目錄的路徑,最後包含「/」;

e:「environment.currentdirectory」:獲取當前應用

程式的路徑,最後不包含「/」;

f:「system.io.directory.getcurrentdirectory」:獲取當前應用

程式的路徑,最後不包含「/」;

3.

用「environment.currentdirectory」和「system.io.directory.getcurrentdirectory」將得到「 system32」目錄的路徑;

程式開頭用「using system.windows.forms」宣告該引用;

c 獲取程式執行路徑

獲取exe路徑 注意,不要使用system.environment.currentdirectory 或system.io.directory.getcurrentdirectory 因為他們代表獲得當前路徑,可以被改變的,例如openfiledialog每換一次目錄就會改變它。獲取當前路徑的父路徑...

C 獲取當前程式執行路徑

獲取當前程序的完整路徑,包含檔名 程序名 string str this.gettype assembly.location result x exe exe檔案所在的目錄 exe檔名 獲取新的 process元件並將其與當前活動的程序關聯的主模組的完整路徑,包含檔名 程序名 string str ...

C 獲取當前程式執行路徑

找了一下午的文章,真的非常非常有用 獲取當前程序的完整路徑,包含檔名 程序名 string str this.gettype assembly.location result x exe exe檔案所在的目錄 exe檔名 獲取新的 process 元件並將其與當前活動的程序關聯的主模組的完整路徑,包...