-1

我将要从我的应用程序运行的 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);
4

2 回答 2

0

如果您使用 Process Class 运行它,请删除前导反斜杠

@"folder\run.exe"

目录“文件夹”必须与您的可执行文件位于同一目录中。

于 2013-01-02T10:34:03.867 回答
0

当您从 VS 启动应用程序时,您可以像这样以编程方式启动进程:

Process.Start(@"C:\somepath\run.exe");

您可以设置相对于您的应用程序路径的进程路径。像那样:

Process.Start(AppDomain.CurrentDomain.BaseDirectory+"run.exe");

您可以从 program.cs 运行它并在应用程序启动的同时运行它,或者在其他事件(如表单加载或按钮单击)上启动它。

于 2013-01-02T10:40:09.993 回答