我在我的Web应用程序中使用此函数来调用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上托管
答案 0 :(得分:2)
IIS及其子进程在不同(无窗口)会话中运行。所以你看不到窗户是否打开。此外,某些进程可能因此而表现得很糟糕(您可能没有遇到过这样的问题,而且对于控制台应用程序也存在问题)。
您可以通过启用任务管理器中的“会话ID”列来查看它:查看 - >选择列 - >会话ID(在流程选项卡上)。
答案 1 :(得分:0)
您是否尝试将窗口样式设置为最大化?
ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
startInfo.WindowStyle = ProcessWindowStyle.Maximized;
Process.Start(startInfo);