背景: 在实现a Windows Service cannot start an app with a GUI that displays without potential problems之前,开始了相当多的工作。分离要启动的应用程序的GUI的正确解决方案是非常重要的,所以我试图考虑替代解决方案。
有一个GUI来管理作为单独可执行文件的服务,但要启动的进程(实际上是它的多个实例)有自己的GUI需要显示。它不需要被服务本身看到,但它至少能够通过具有可见GUI的另一个进程可见。运行该服务并且需要查看已启动进程的GUI的Windows用户在安装时是相同且已知的。
有没有办法实现这一目标还是回到绘图板?
启动的服务和应用程序都是我们的代码和可修改的。
答案 0 :(得分:0)
我的第一个想法是建议您查看WTS *函数和CreateProcessAsUser,然后我按照您提供的链接看到您已经考虑过这个并将其解雇了。
作为替代方案,如果我理解正确,您将拥有用于管理服务的Windows服务和GUI。那么为什么不使用服务和管理GUI之间的通信通道从服务向管理GUI发送消息,并让管理GUI代表服务启动其他GUI应用程序?当然,这将假设管理GUI始终在运行。
您甚至可以使用隐藏的应用程序执行此操作,该应用程序不可见并在用户登录时启动,这样可以降低用户无意中关闭应用程序的风险,这将是与实际管理应用程序不同的应用程序