C 路徑設定相關知識

2021-06-22 03:56:14 字數 2297 閱讀 6688

system.diagnostics.process.getcurrentprocess().mainmodule.filename獲取模組的完整路徑。

system.environment.currentdirectory

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

system.io.directory.getcurrentdirectory() 

使用至於system.io.directory.getcurrentdirectory

不行,因為應用程式有個當前工作目錄,這個工作目錄是會變的,不總是程式的啟動目錄(當然預設啟動是應用程式目錄)。

比如說,你開啟命令列(

cmd),它就會顯示乙個路徑,你會發現這個路徑(通常是

c:\documents andsettings\

使用者名稱,在

xp下)不是

cmd.exe

所在目錄(

cmd.exe

是在system32

下的)。

而這個當前目錄很容易改變,甚至當你使用了檔案瀏覽對話方塊(比如開啟檔案、儲存檔案)時,這個當前目錄都會改變到它最後選擇的目錄。

而快捷方式中的啟動目錄,就是設定當前應用程式的工作目錄。預設情況下,新建的快捷方式的啟動目錄就是應用程式所在目錄,所以你不修改的話是可以正常工作的,明白了

程序物件

在.net

中表現為

system.diagnostics.process

類,通過呼叫

process.getcurrentprocess().mainmodule.filename

可獲得當前執行的

exe的檔名。但是這個方法得到的僅僅是檔名,如果程式執行期間沒有切換工作目錄,那麼可以呼叫

system.io.path

的方法獲取絕對路徑。但是當前目錄同樣可以通過

environment.currentdirectory

獲得,而且很多軟體在使用

open dialog

開啟檔案的時候,都會切換工作目錄,而使得這一機制失效。

如果是在

windows forms

應用程式中,當前應用也表現為

物件,通過其靜態屬性

和,可以取得可執行檔案的路徑和啟動路徑。

但如果不是在

windows

應用中呢,或者是在

library

中呢,就算是

物件的屬性依然能獲得,也需要在工程中新增

system.windows.forms

這個assembly

的引用,非常不方便。這個時候,可以通過

assembly

的靜態方法,

getcallingassembly

或者getexecutingassembly

取得當前執行的

assembly

,然後通過

assembly

類的location

獲取assembly

的位置。

但是使用

assembly

的時候,可能會遇到許可權方面的問題,同時

assembly.getcallingassembly

或者assembly.getexecutingassembly

有可能得到的不是

.exe

檔案的位置。在

gac中的新增了強名的

assembly

,執行時是可以不必與

.exe

在同一目錄的。

.net

的程序啟動時,會建立

,所有的

assembly

都被load

到某乙個

中,而中提供了

setupinformation

屬性,可以獲取

啟動時的一些資訊,因此,可以通過呼叫

獲取當前應用程式所在的路徑。

在通過以上方法取到所需的目錄後,可以呼叫

system.io.path

的方法獲取檔名,目錄名,絕對路徑等。停止對路徑字串的分析,而改用

system.io.path

類吧。開發

.net

下應用程式時,了解

的關係,對於實現正確的邏輯,是非常有幫助的。

// 獲取程式工作路徑的

n 種方法。

針對**應用程式有效的

m 種方法。

此方法可使用在

asp.net

中取代,可以說這個獲取路徑的方法是

.net

通用的獲取路徑方法,建議使用。

網域名稱設定相關知識

分類 疑難問題 2008.6.6 14 14 cname canonical name 記錄,通常稱別名指向。在這裡,您可以定義乙個主機別名,比如設定ftp.com,用來指向乙個主機www.com,那麼以後就可以用ftp.com來代替訪問www.com了。什麼是ttl值?ttl值全稱是 生存時間 t...

網域名稱設定相關知識

分類 疑難問題 2008.6.6 14 14 cname canonical name 記錄,通常稱別名指向。在這裡,您可以定義乙個主機別名,比如設定ftp.com,用來指向乙個主機www.com,那麼以後就可以用ftp.com來代替訪問www.com了。什麼是ttl值?ttl值全稱是 生存時間 t...

尤拉路徑相關知識

首先說說概念 設g是無向連通圖,則稱經過g的每條邊一次且僅一次的路徑為尤拉通路.如果尤拉通路是迴路,那麼該迴路為尤拉迴路.具有尤拉迴路的無向圖g稱為尤拉圖.如果g是有向圖,並且g的基圖聯通.那麼由上面的定義中所有的名次加上乙個有向即可 相關定理 1 無向圖g存在尤拉通路的充要條件是 g為連通圖,並且...