通过asp.net/C#代码调用第三方应用程序 - UI被“卡住”

时间:2012-08-18 06:18:22

标签: c# asp.net

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

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

应用程序触发并开始打开GUI但在大约3-4秒后“卡住”并且只是坐在那里..它不是应用程序问题,因为它通过本地管理员帐户运行它运行正常网络服务器。我还尝试使用

通过管理员帐户调用此应用程序
Start(
string fileName,
string userName,
SecureString password,
string domain)

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

1 个答案:

答案 0 :(得分:0)

最好在运行之前设置一些初始化,而不是使用不适用于Web的默认设置运行它,所以请尝试以下代码:

   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();