我有一个作为服务安装的bat文件。我可以在远程盒子上运行该服务。此服务需要启动另一个应用程序。启动的应用程序需要可见(在前台运行)。当前启动的应用程序在后台运行,因为Windows服务在后台运行。如何使Windows服务或Windows服务和它启动的应用程序在前台运行?我打算用C#中的ServiceController类来管理服务。
答案 0 :(得分:0)
我认为你应该阅读
http://asprosys.blogspot.com.au/2009/03/allow-service-to-interact-with-desktop.html
提供服务以启动另一个应用程序是一个真正的安全问题,如果您的其他应用程序被其他内容替换,您将获得服务中的所有检查,以确保您的应用程序是您认为的应用程序。
答案 1 :(得分:0)
正确的方法是在用户会话中启动第二个应用程序,而Windows服务应用程序始终在会话0中运行。
这个方法是我与@RaheelKhan在这个帖子下讨论的一部分,
需要正确理解Windows会话,会话隔离和平台调用。