2010-04-21 66 views
1

背景: 在实现a Windows Service cannot start an app with a GUI that displays without potential problems之前开始了大量的工作。分离要启动的应用程序的图形用户界面的适当解决方案并不重要,所以我正在尝试考虑其他解决方案。有没有办法将应用程序的GUI带到当前桌面?

有一个GUI来管理作为单独可执行文件的服务,但要启动的进程(实际上是其多个实例)具有需要显示的自己的GUI。它不需要被服务本身看到,但它至少需要被另一个具有可见GUI的进程可见。运行该服务的Windows用户需要查看启动的进程的GUI,这与安装时相同并且已知。

有什么办法可以做到这一点还是回到绘图板?

服务和要启动的应用程序都是我们的代码和可修改的。

回答

0

我的第一个想法是建议你看一下WTS *函数和CreateProcessAsUser,然后我按照你提供的链接看到你已经考虑过这个并且将它解雇了。

作为替代方案,如果我正确理解了您的话,您将拥有一个用于管理服务的Windows服务和GUI。那么,为什么不使用服务和管理GUI之间的通信渠道将服务消息发送到管理GUI,并让管理GUI代表服务启动其他GUI应用程序?当然,这会假设管理GUI始终在运行。

你甚至可以用一个隐藏的应用程序来做到这一点,这个应用程序在用户登录时不可见并启动,这样可以减少用户无意中关闭应用程序的风险,这将是一个与实际管理不同的应用程序应用。

相关问题