0

我正在尝试编写一个网页,其中 iam 从代码中调用第三方应用程序(.exe)

System.Diagnostics.Process.Start("app.exe")

该应用程序启动并开始打开 ​​GUI,但在大约 3-4 秒后被“卡住”并停在那里。这不是应用程序问题,因为当我通过网络上的本地管理员帐户运行它时它运行良好-服务器。我还尝试使用管理员帐户调用此应用程序

Start(
string fileName,
string userName,
SecureString password,
string domain)

但这没有帮助。任何帮助表示赞赏。

4

1 回答 1

0

Its better to set some initialization before you run it, and not run it with the default settings that are not for the web, so try this code:

   Process compiler = new Process();

    // Make sure that the application.exe can be found
    compiler.StartInfo.FileName = "c:\\app.exe";

    compiler.StartInfo.StandardOutputEncoding = System.Text.Encoding.UTF8;

    compiler.StartInfo.UseShellExecute = false;
    compiler.StartInfo.CreateNoWindow = false;

    compiler.StartInfo.RedirectStandardError = true;
    compiler.StartInfo.RedirectStandardOutput = true;
    compiler.StartInfo.RedirectStandardInput = true;

    // here I run it
    compiler.Start();

    compiler.StandardInput.Flush();
    compiler.StandardInput.Close();

    // here I get the output
    string cReadOutput = compiler.StandardOutput.ReadToEnd();

    compiler.WaitForExit();
    compiler.Close();
于 2012-08-18T06:54:23.357 回答