首页 > 解决方案 > Process.Start() 工作但没有弹出窗口

问题描述

我有一个 Web API 项目,它有一个调用,允许用户基本上在服务器上启动一个单独的应用程序。

基本上,我的 Web API 是从 MVC 项目远程调用此应用程序的网关。

问题:

我面临的问题是 Process.Start() 方法运行良好(正如我可以看到在服务器的任务管理器上启动的进程)但没有弹出窗口?我可以直接运行该应用程序并看到它在自己的窗口中启动。

网页 API 代码:

public void ReconnectEPLAN()
{
    if (CheckEplanConnection() == false)
    {
        Process process = new Process();
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.FileName = @"C:\Program Files\EPLAN\Pro Panel\2.8.3\Bin\W3u.exe"; //works but no ui poopup
        process.StartInfo.CreateNoWindow = false;
        process.Start();
    }
}

我该怎么做才能强制启动进程的应用程序窗口也出现?

标签: c#asp.netasp.net-mvcexecutable

解决方案


在您的服务器上,IIS 作为服务运行(与在用户空间中运行的 IIS Express 不同)。从 Windows Vista 开始,服务不能再直接与用户的桌面交互。

看:

服务根本无法直接与用户交互:这是因为服务可以在根本没有用户登录的机器上运行,因此无法与它们交互。


推荐阅读