您的位置:首页 > 编程语言 > C#

C#中得到程序当前工作目录和执行目录的一些方法

2008-07-15 22:55 555 查看
首先要弄清你对“当前目录”(Current Directory)的定义是什么。

◆工作目录
你的应用程序正在哪个目录下工作。这个目录并不一定是EXE文件所在的目录,而且在程序运行中是可以改变的。

System.IO.Directory类提供了GetCurrentDirectory方法,该方法是对Win32 API的GetCurrentDirectory函数的一个封装。
此外,System.Environment类提供了CurrentDirectory属性,由于该属性内部调用的就是System.IO.Directory.GetCurrentDirectory(),因此二者是等价的。

最后还有一个方法:
System.IO.Path.GetFullPath(".//")

◆被执行的EXE文件所在的目录。
如果是WinForm,可以使用System.Windows.Forms.Application类提供的StartupPath属性。

此外,AppDomain.BaseDirectory属性也可以获得EXE文件所在的目录。

----------------------------------------------------------------------------------------------------------------------

1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
获取模块的完整路径。
2. System.Environment.CurrentDirectory
获取和设置当前目录(该进程从中启动的目录)的完全限定目录。
3. System.IO.Directory.GetCurrentDirectory()
获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:/www里,这个函数有可能返回C:/Documents and Settings/ZYB/,或者C:/Program Files/Adobe/,有时不一定返回什么东东,我也搞不懂了。
4. System.AppDomain.CurrentDomain.BaseDirectory
获取程序的基目录。
5. System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
获取和设置包括该应用程序的目录的名称。
6. System.Windows.Forms.Application.StartupPath
获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个"/"而已
7. System.Windows.Forms.Application.ExecutablePath
获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: