0

我正在使用我的网络应用程序中的这个函数来调用 exe 文件。当它调用 .exe 文件时,每件事都会准确地发生,我可以将其视为任务管理器进程中的正在运行的进程,但是为什么在调用此进程时不打开命令提示符。

Web 应用程序托管在同一系统的 iis 上。

 public void RunconsoleApplication(string Id)
    {
        // Get the file path of your Application (exe)
        string filePath = @"E:/ConsoleApplication1/ConsoleApplication1/bin/Debug/ConsoleApplication1.exe";

        System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(filePath, Id);

        System.Diagnostics.Process p = System.Diagnostics.Process.Start(info);//called       

    }

更新

在visual atudio上运行相同的应用程序时,会打开命令提示符。但在 iis 上托管时不会

4

2 回答 2

2

IIS 及其子进程在不同的(和无窗口的)会话中运行。所以你看不到窗口是否打开。此外,某些进程可能会因此而表现异常(您可能没有遇到此类问题,并且不太可能遇到控制台应用程序问题)。

您可以通过在任务管理器中打开“会话 ID”列来查看它:查看 -> 选择列-> 会话 ID(在进程选项卡上)。

于 2012-06-30T04:36:40.180 回答
0

您是否尝试将窗口样式设置为最大化?

ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
startInfo.WindowStyle = ProcessWindowStyle.Maximized;
Process.Start(startInfo);
于 2012-06-30T04:31:04.260 回答