C# 获取当前程序路径的方法总结

来源:互联网 发布:win7优化工具 编辑:程序博客网 时间:2024/05/02 23:36

最近做一个log程序用到了获取应用程序路径的方法,顺便整理了一下:

1.获得带.exe的路径

string str1 = Process.GetCurrentProcess().MainModule.FileName; //可获得当前执行的exe的文件名。D:\work\Projects\AddressMapping\AddressMapping\Test\bin\Debug\Test.vshost.exe

string str1 = Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。D:\work\Projects\AddressMapping\AddressMapping\Test\bin\Debug\Test.EXE

string str1 = Assembly.GetExecutingAssembly().Location;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。D:\work\Projects\AddressMapping\AddressMapping\Test\bin\Debug\Test.exe【建议使用,无论何种状况都会取到所在dll的全路径】

 

2.获得去掉.exe的路径(不带\)

string str2 = Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。D:\work\Projects\AddressMapping\AddressMapping\Test\bin\Debug

如果是windows services,取的是C:\Windows\system32路径

string str2 = Directory.GetCurrentDirectory();//获取应用程序的当前工作目录。D:\work\Projects\AddressMapping\AddressMapping\Test\bin\Debug

如果是windows services,取的是C:\Windows\system32路径

string str2 = Application.StartupPath;//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。D:\work\Projects\AddressMapping\AddressMapping\Test\bin\Debug



3.获得去掉.exe的路径(带\)

string str3 = AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集。D:\work\Projects\AddressMapping\AddressMapping\Test\bin\Debug\

string str3 = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称。D:\work\Projects\AddressMapping\AddressMapping\Test\bin\Debug\





 

原创粉丝点击