在前台运行Windows服务

时间:2012-05-17 22:27:55

标签: c# .net windows-services windows-xp

我有一个作为服务安装的bat文件。我可以在远程盒子上运行该服务。此服务需要启动另一个应用程序。启动的应用程序需要可见(在前台运行)。当前启动的应用程序在后台运行,因为Windows服务在后台运行。如何使Windows服务或Windows服务和它启动的应用程序在前台运行?我打算用C#中的ServiceController类来管理服务。

2 个答案:

答案 0 :(得分:0)

我认为你应该阅读

http://asprosys.blogspot.com.au/2009/03/allow-service-to-interact-with-desktop.html

提供服务以启动另一个应用程序是一个真正的安全问题,如果您的其他应用程序被其他内容替换,您将获得服务中的所有检查,以确保您的应用程序是您认为的应用程序。

答案 1 :(得分:0)

正确的方法是在用户会话中启动第二个应用程序,而Windows服务应用程序始终在会话0中运行。

这个方法是我与@RaheelKhan在这个帖子下讨论的一部分,

How reliable is adding an application manifest to ensure elevated privileges across windows xp, vista and 7?

需要正确理解Windows会话,会话隔离和平台调用。