System.IO.Directory.GetCurrentDirectory()方法用於獲得應用程序當前工作目錄。
System.Windows.Forms.Application.StartupPath 獲得應用程序的可執行文件的路徑,不含文件名
StartupPath 可執行文件固定就不會變,可用於定位
GetCurrentDirectory 不一定是可執行文件所在目錄,因啟動的位置而變
如有兩個程序 C:/A/a.exe 和 C:/B/b.exe
當在 a.exe 中啟動 b.exe,System.Diagnostics.Process.Start(@"C:/B/b.exe")
這時,b.exe 中 Directory.GetCurrentDirectory()方法 返回值為“C:/A”,Application.StartupPath 值為“C:/B”
如果直接在 C:/B/ 中啟動 b.exe,那么兩個值就會一樣,都為“C:/B”
這就是 Directory.GetCurrentDirectory 和 Application.StartupPath 的區別
兩個意義是不一樣的.
Application.StartupPath是程序的啟動目錄,這個在程序運行以后,就不會改變了.
Directory.GetCurrentDirectory()是 "當前目錄 ",是可以在程序運行時候改變的,用
Directory.SetCurrentDirectory()就可以改變.
Directory.GetCurrentDirectory()的缺省值是和Application.StartupPath()一樣的.