程序的Application.StartupPath的值

时间:2016-05-18 15:48:02

标签: c# process

我有program1将从program2启动,如下所示:

Process.Start(@"C:\myfolder\myprogram.exe"); 

在program2中我有一个值为的变量:Application.StartupPath。 如果我从桌面上的program1启动带有Process.Start(@“C:\ myfolder \ myprogram.exe”)的program2,myprogram的Application.StartupPath是桌面而不是myfolder。为什么?谢谢大家

1 个答案:

答案 0 :(得分:2)

这是因为您从桌面启动了该程序。它有点像"开始于"从Windows快捷方式框。我通常使用下面的代码,因为它在查看当前可执行文件所在的位置时永远不会出错,但您也可以使用processstartinfo和工作目录启动它

https://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.workingdirectory(v=vs.110).aspx

string ThisFolder = new FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).Directory.FullName;

此致

利安