我添加到我的应用程序文件夹中的exe文件,我想从我的应用程序运行但我认为我没有正确运行exe文件。
例如我的文件夹名称是文件夹,exe文件是run.exe所以我尝试@"\folder\run.exe"
但是系统找不到指定的文件。
这样做的正确方法是什么?
public void run(string filePath, int deviceNumber)
{
ProcessStartInfo processStartInfo = new ProcessStartInfo(@"\folder\run.exe");
processStartInfo.Arguments = string.Format("{0} {2}{1}{2}", (deviceNumber).ToString(), filePath, "\"");
processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
processStartInfo.RedirectStandardOutput = true;
processStartInfo.RedirectStandardError = true;
processStartInfo.CreateNoWindow = true;
processStartInfo.UseShellExecute = false;
processStartInfo.ErrorDialog = false;
using (Process process = Process.Start(processStartInfo))
{
process.WaitForExit();
}
}
问题已解决:
the way to do it is ProcessStartInfo processStartInfo = new ProcessStartInfo(System.Windows.Forms.Application.StartupPath + myEXEpath);
答案 0 :(得分:0)
如果使用Process Class运行它,请删除前导反斜杠
@"folder\run.exe"
目录“folder”必须与您的可执行文件位于同一目录中。
答案 1 :(得分:0)
当您从VS启动应用程序时,您可以以编程方式启动进程:
Process.Start(@"C:\somepath\run.exe");
您可以设置相对于应用路径的流程路径。 像那样:
Process.Start(AppDomain.CurrentDomain.BaseDirectory+"run.exe");
您可以从program.cs运行它并在应用程序启动的同时运行它,或者在表单加载或按钮单击等其他事件上启动它。