.Net当前工作目录VS当前执行目录

定义:       当前工作目录——进行某项操作的目的目录,会随着OpenFileDialogSaveFileDialog等对象所确定的目录而改变。

当前执行目录——该进程从中启动的目录,即文件自身所在目录。工作目录与执行目录可以不同,例如一个人住在北京,但他的工作地点不一定在北京,可能在天津。

方法:

1、获取和设置当前工作目录

a)          System.IO.Directory.GetCurrentDirectory()

说明:获取应用程序的当前工作目录的完全限定路径。该方法是对Win32 APIGetCurrentDirectory函数的一个封装。

例如:'"C:\Documents and Settings\Administrator\My Documents"

b)         System.Environment.CurrentDirectory  

说明:获取或设置当前工作目录的完全限定路径。该属性内部调用的就是System.IO.Directory.GetCurrentDirectory()方法,二者是效果是等价的。

例如:'"C:\Documents and Settings\Administrator\My Documents"

c)          System.IO.Path.GetFullPath(".")

说明:获取指定路径字符串的绝对路径。也可以用GetFullPath(".\"),GetFullPath(".\\")

例如:'"C:\Documents and Settings\Administrator\My Documents"

2、获取和设置当前执行目录

a)          System.Windows.Forms.Application.StartupPath

说明:获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。常用于WinForm.

例如:'"D:\Projects\MyTest\bin"

b)         System.AppDomain.CurrentDomain.BaseDirectory

说明:获取基目录,它由程序集冲突解决程序用来探测程序集。返回路径末尾带“\

例如:'"D:\Projects\MyTest\bin\"

c)          System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase

说明:获取或设置包含该应用程序的目录的名称。返回路径末尾带“\

例如:'"D:\Projects\MyTest\bin\"

3、获取和设置当前执行目录,包括可执行文件名

a)          System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName

说明:获取模块的完整路径。包括可执行文件的名称。

例如:'"D:\Projects\MyTest\bin\MyTest.exe"

b)         System.Windows.Forms.Application.ExecutablePath

说明:获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。

例如:'"D:\Projects\MyTest\bin\MyTest.exe"

c)          System.Reflection.Assembly.GetExecutingAssembly().Location

说明:如果包含清单的已加载文件没有被影像复制,则获取该文件的基本代码格式的位置。

例如:'"D:\Projects\MyTest\bin\MyTest.exe"

d)         System.Reflection.Assembly.GetExecutingAssembly().CodeBase

说明:获取最初指定的程序集的位置,例如,在AssemblyName对象中指定的位置。

例如:'"file:///D:/Projects/MyTest/bin/MyTest.exe"

posted @ 2012-06-07 15:52  ^_^肥仔John  阅读(1679)  评论(0编辑  收藏  举报