参考:http://developer.51cto.com/art/200908/147797.htm
有时会检查当前程序目录的各种文件,所以需要知道当前程序目录。可是网络上的解释都含糊不清。像这种简单的小东西,与其到处搜索,不如做个试验,以后想判断就回来自己看看。
程序路径:
C:\QQDownload\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe
我用 “方法名=路径” 来表示用某个方法得到的路径返回值
结论:
推荐用:System.AppDomain.CurrentDomain.BaseDirectory , 这个能准确返回exe文件所在目录,而且通用
试验1: 进入目录,鼠标双击
结果:
1. Environment.CurrentPath= C:\QQDownload\ConsoleApplication1\ConsoleApplication1\bin\Debug
2. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName=C:\QQDownload\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe
3. System.Diagnostics.Process.GetCurrentProcess().MainModule.ModuleName=ConsoleApplication1.exe
4. System.IO.Direcotry.GetCurrentDirectory=C:\QQDownload\ConsoleApplication1\ConsoleApplication1\bin\Debug
5. SystemAppDomain.CurrentDomain.BaseDirectory=C:\QQDownload\ConsoleApplication1\ConsoleApplication1\bin\Debug\
6. AppDomain.CurrentDomain.SetupInformation.ApplicationBase=C:\QQDownload\ConsoleApplication1\ConsoleApplication1\bin\Debug\
7. AppDomain.CurrentDomain.SetupInformation.ApplicationName=ConsoleApplication1.exe
8. System.WIndows.Forms.Application.StartupPath=C:\QQDownload\ConsoleApplication1\ConsoleApplication1\bin\Debug
9. System.Windows.Forms.Application.ExecutablePath=C:\QQDownload\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe
试验2: 从Cmd,默认进入C:\Users\用户名下。
执行 C:\QQDownload\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe
结果:
1. Environment.CurrentPath= C:\Users\用户名 (不同于exe真实位置)
2. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName=C:\QQDownload\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe
3. System.Diagnostics.Process.GetCurrentProcess().MainModule.ModuleName=ConsoleApplication1.exe
4. System.IO.Direcotry.GetCurrentDirectory=C:\Users\用户名 (不同于exe真实位置)
5. System.AppDomain.CurrentDomain.BaseDirectory=C:\QQDownload\ConsoleApplication1\ConsoleApplication1\bin\Debug\
6. System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase=C:\QQDownload\ConsoleApplication1\ConsoleApplication1\bin\Debug\
7. AppDomain.CurrentDomain.SetupInformation.ApplicationName=ConsoleApplication1.exe
8. System.WIndows.Forms.Application.StartupPath=C:\QQDownload\ConsoleApplication1\ConsoleApplication1\bin\Debug
9. System.Windows.Forms.Application.ExecutablePath=C:\QQDownload\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe