WinForm 几种获得应用程序启动路径的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinForm 几种获得应用程序启动路径的方法相关的知识,希望对你有一定的参考价值。

参考技术A 取得控制台应用程序的根目录方法 方法1、Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径
方法2、AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集
取得WinForm应用程序的根目录方法 1、Environment.CurrentDirectory.ToString();//获取或设置当前工作目录的完全限定路径
2、Application.StartupPath.ToString();//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称
3、Directory.GetCurrentDirectory();//获取应用程序的当前工作目录
4、AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集
5、AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称

winform关于通过cmd启动程序提示“未加载xxxx程序集”的问题

这两天在尝试让winform程序在电脑开机时自动打开,通过将软件的执行路径加入到注册表“HLMSOFTWAREMicrosoftWindowsCurrentVersionRun”下后,电脑重启后软件能够自动打开,但是在打开时提示“未能加载xxx程序集”。通过对程序的执行路径分析发现,通过第三方软件启动时软件的“Application.StartupPath”、“Appdomain.CurrentDomain.BasicDirectory”为程序所在目录,而“Environment.CurrentDirectory”为调用程序所在目录,所以导致在加载相关程序集时报错。最后通过如下代码解决报错问题(程序启动时判断运行目录和环境目录是否相同):

1 if (!Environment.CurrentDirectory.Equals(Application.StartupPath))
2 {
3        Environment.CurrentDirectory = Application.StartupPath;
4 }

 

以上是关于WinForm 几种获得应用程序启动路径的方法的主要内容,如果未能解决你的问题,请参考以下文章

WinForm 之 应用程序开机自启动设置方法

winform EXE目录的上一层

WinForm检测用户是不是已登陆的方法--简单问题--请高手回答!

Winform 程序运行路径

WINFORM 应用程序管理员身份执行

压缩文件后(它们从 Visual Studio 中的文件路径引用打开),如何让我的应用程序从单独的 Winform 打开? (C#)