架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9588|回复: 0

[资料] Directory.GetCurrentDirectory和Application.StartupPath的区别

[复制链接]
发表于 2016-12-8 11:06:32 | 显示全部楼层 |阅读模式

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()一样的.




上一篇:lock为什么只能锁定引用不能锁定值类型
下一篇:解决C#程序只允许运行一个实例的几种方法详解
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-29 14:39

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表