System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName他获取的是Module的文件名,如果在VS2008的调试环境中,获取的是 [程序名].vshost.exe的完整文件名。
System.Environment.CurrentDirectorySystem.IO.Directory.GetCurrentDirectory() 这两个方法获得的路径是一样的,获得的是当前路径,这个路径不一定是程序所在的路径。任何会改变当前路径的方法都会改变它,例如:OpenFileDialog每换一次目录就会改变它。因此,用这2个方法获取程序路径并不可靠。
System.AppDomain.CurrentDomain.BaseDirectorySystem.AppDomain.CurrentDomain.SetupInformation.ApplicationBase 这两个方法是可靠的获取程序路径的方法。返回的路径最末以"\"结尾。可以方便的在后面加入任何Path。当然就算没有也可以用Path.Combine来合并路径以获得想要的路径。
System.Windows.Forms.Application.StartupPath 这个方法也是可靠的获取程序路径的方法。不过返回的路径最末并没有"\"结尾。另外因为是Forms命名空间的。因此如果使用WPF还是不用的好。
System.Windows.Forms.Application.ExecutablePath这个方法获取的是执行程序的完整文件名。是最可靠的方式,只需要去掉程序文件名就可以获得路径。
转载于:https://www.cnblogs.com/harryhan1983/archive/2010/05/21/1741157.html
相关资源:获取应用程序的路径