应用程序.在msconfig startup中添加app后,StartupPath会改变
本文关键字:StartupPath 改变 app 添加 msconfig startup 应用程序 | 更新日期: 2023-09-27 18:14:35
感谢您花时间帮助我。
我有一个应用程序,我添加到启动注册表与代码:
RegistryKey setRunAtStartup = Registry.LocalMachine.OpenSubKey ("SOFTWARE''Microsoft''Windows''CurrentVersion''Run", true);
setRunAtStartup.SetValue("mls", Application.ExecutablePath.ToString());
我还有一个ini.xml文件需要和我的应用程序在同一个文件夹中,所以我这样访问它:
XmlDocument doc = new XmlDocument();
doc.Load(Application.StartupPath.ToString() + "/ini.xml");
问题是,重启电脑后应用程序。StartupPath不再返回我的旧路径,而是返回C:'Windows'System32'myapp.exe,因此它抛出一个异常:无法在该文件夹中找到所需的ini.xml。我该如何解决这个问题?我需要一个方法,将返回真实的路径,以便访问我的ini.xml。谢谢你!
不要使用当前工作目录。而不是使用:
Assembly.GetExecutingAssembly().Location
一样:
Path.Combine(
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
"myIniFile.ini")