问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C#如何保证获取当前应用程序的绝对路径是对的?

发布网友 发布时间:2022-05-17 08:29

我来回答

2个回答

热心网友 时间:2023-10-15 04:49

使用 Application.StartupPath

至于
System.IO.Directory.GetCurrentDirectory不行,因为应用程序有个当前工作目录,这个工作目录是会变的,不总是程序的启动目录(当然默认启动是应用程序目录)。
比如说,你打开命令行(cmd),它就会显示一个路径,你会发现这个路径(通常是 C:\Documents and settings\用户名,在XP下)不是cmd.exe所在目录(cmd.exe 是在system32下的)。
而这个当前目录很容易改变,甚至当你使用了文件浏览对话框(比如打开文件、保存文件)时,这个当前目录都会改变到它最后选择的目录。

而快捷方式中的启动目录,就是设置当前应用程序的工作目录。默认情况下,新建的快捷方式的启动目录就是应用程序所在目录,所以你不修改的话是可以正常工作的,明白了?

热心网友 时间:2023-10-15 04:49

System.Diagnostics命名空间
string str1 =Process.GetCurrentProcess().MainMole.FileName;//可获得当前执行的exe的文件名。

System 命名空间
string str2=Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。

System.IO命名空间
string str3=Directory.GetCurrentDirectory();//获取应用程序的当前工作目录。
string str4=AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集。
string str5=Application.StartupPath;//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
string str6=Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
string str7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称。

1. System.Diagnostics.Process.GetCurrentProcess().MainMole.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一样。

string path = new DirectoryInfo("../").FullName;//当前应用程序路径的上级目录
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
长春小飞没有车没有房 碳钢的多久生锈 碳钢多久会生锈 碳钢多长时间会开始生锈 碳钢和铝哪个容易生锈 梦见天宫图是什么意思 光遇2023好友树解锁图鉴 光遇二级节点多少个 ...火柴小女孩》《词语手册》里有很多词语的意思的,求告知 暖融融解释 领淘通淘客助手这个软件怎么样? C语言中怎么取本身程序的运行名和运行目录? vc获取本程序文件路径,并打开本文件夹另一个EXE C++写的服务程序,如何获得当前执行程序所在目录 VC 如何根据进程名称找程序的目录 c语言中如何得到当前文件所在位置 C#.net中获得当前路径 Windows下怎么用C语言获取正在运行的程序的路径 C#中如何获得当前应用程序路径? c语言如何获得文件当前路径? c#中怎么获得当前路径 第24届冬奥会举办时间是()年,举办城市是我国的()和()。 C语言 如何取得当前可执行程序所在的路径 c语言怎么获得当前程序运行路径 用c 怎么获取当前程序所在的路径 怎么辨别假新闻 大家好,有没有做服务认证和大型活动可持续性管理体系认证的机构,给点建议,我是做体育馆的,多谢! 如何识别和反驳假新闻,假消息 安卓root后怎么把原来的启动器换新的 怎么修改安卓的启动器,内详 安卓手机有些文件管理器查看文件时不小心点错了,怎么修改默认打开软件? C#如何获得文件夹的路径 vc++如何取程序的运行目录? 请识别一下,这张纸上的字是什么字体?急!急!急! 这张纸上的字是什么字体 这张纸上的四种字体分别是什么?? 白纸上是什么字体? 如何给手机快速充电?打开这个设置,还不伤手机能够秒充 手机充电不显示充电图标,关机冲到70电了,拔开数据线还显示充电,并且从0电秒充到六十几电,怎么办? 2021河北农业大学有降分的可能吗? 河北农业大学西校区2021年植保院硕博连读成绩名单 河北农业大学,2021补考的学生啥时候领毕业证 有关于闪乱神乐的!! 富阳考驾照怎么预约科目一考试 杭州考驾照,考试的地点是在富阳哪里 跪求大神告知这是哪部动漫里的角色啊 最近看到的壁纸,貌似应该会很好看的样子- - 我是富阳的,想考机动车驾驶证,需要走哪几个程序 杭州富阳区考驾照过程中可以从手动变自动吗? 在杭州考驾驶证去富阳把科目三考过去考科目四,拿的驾驶证是和杭州一样的嘛,有什么区别啊!谢谢!!! 富阳考驾照多少钱,在哪里报名,要多久可以考出来?谢谢 富阳新手考驾照多久能拿到