當前應用程序路徑
一個WinForm程序,項目文件存放於D:\Projects\Demo,編譯后的文件位於
D:\Projects\Demo\bin\Debug,最后的結果如下:
代碼 | 結果 |
---|---|
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName | D:\Projects\Demo\bin\Debug\Demo.exe |
System.Environment.CurrentDirectory | D:\Projects\Demo\bin\Debug |
System.IO.Directory.GetCurrentDirectory() | D:\Projects\Demo\bin\Debug |
System.AppDomain.CurrentDomain.BaseDirectory | D:\Projects\Demo\bin\Debug\ |
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase | D:\Projects\Demo\bin\Debug\ |
System.Windows.Forms.Application.StartupPath | D:\Projects\Demo\bin\Debug |
System.Windows.Forms.Application.ExecutablePath | D:\Projects\Demo\bin\Debug\Demo.EXE |
這里需要注意,在一次偶然的測試中,通過添加注冊表啟動記錄實現了開機運行該程序,結果路徑輸出有變化
System.Environment.CurrentDirectory
和System.IO.Directory.GetCurrentDirectory()
的返回值變成了 C:\Windows\system32
PS: 添加注冊表記錄實現開機自啟的方法
Registry.SetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", "隨便什么名字", System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
當前系統環境路徑
代碼 | 結果 |
---|---|
System.Environment.GetEnvironmentVariable("windir") | C:\WINDOWS |
System.Environment.GetEnvironmentVariable("INCLUDE") | C:\Program Files\Microsoft Visual Studio.NET 2005\SDK\v2.0\include\ |
System.Environment.GetEnvironmentVariable("TMP") | C:\DOCUME1\ADMINI1\LOCALS~1\Temp |
System.Environment.GetEnvironmentVariable("TEMP") | C:\DOCUME1\ADMINI1\LOCALS~1\Temp |
System.Environment.GetEnvironmentVariable("Path") | C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\ |