Directory.GetCurrentDirectory和Application.StartupPath的区别
Posted 寒夜美美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Directory.GetCurrentDirectory和Application.StartupPath的区别相关的知识,希望对你有一定的参考价值。
System.IO.Directory.GetCurrentDirectory()方法用于获得应用程序当前工作目录。
System.Windows.Forms.Application.StartupPath 获得应用程序的可执行文件的路径,不含文件名
StartupPath 可执行文件固定就不会变,可用于定位
GetCurrentDirectory 不一定是可执行文件所在目录,因启动的位置而变
如有两个程序 C:/A/a.exe 和 C:/B/b.exe
当在 a.exe 中启动 b.exe,System.Diagnostics.Process.Start(@"C:/B/b.exe")
这时,b.exe 中 Directory.GetCurrentDirectory()方法 返回值为“C:/A”,Application.StartupPath 值为“C:/B”
如果直接在 C:/B/ 中启动 b.exe,那么两个值就会一样,都为“C:/B”
这就是 Directory.GetCurrentDirectory 和 Application.StartupPath 的区别
两个意义是不一样的.
Application.StartupPath是程序的启动目录,这个在程序运行以后,就不会改变了.
Directory.GetCurrentDirectory()是 "当前目录 ",是可以在程序运行时候改变的,用
Directory.SetCurrentDirectory()就可以改变.
Directory.GetCurrentDirectory()的缺省值是和Application.StartupPath()一样的.
以上是关于Directory.GetCurrentDirectory和Application.StartupPath的区别的主要内容,如果未能解决你的问题,请参考以下文章