2

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

4

2 回答 2

1

我想你可能应该读

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

让服务只启动另一个应用程序是一个真正的安全问题,如果您的另一个应用程序被其他应用程序替换,您是否在服务中进行了所有检查以确保您的应用程序是您认为的应用程序。

于 2012-05-17T22:56:18.983 回答
0

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

该方法是我在此线程下与@RaheelKhan 讨论的一部分,

添加应用程序清单以确保在 windows xp、vista 和 7 中提升权限的可靠性如何?

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

于 2012-05-18T02:31:55.007 回答