【发布时间】:2011-09-08 11:41:09
【问题描述】:
我计划使用 Windows 服务(用 C# 编写)运行启动/监视 UI 应用程序。选中“允许服务与桌面交互”。这适用于 windows xp,但对于 windows 7,弹出如下所示
当我点击查看消息时,整个屏幕空白,只显示 UI,如下所示。
有什么方法可以让它在不显示消息和屏幕空白的情况下工作。
cmets/建议表示赞赏。
问候 DEE
【问题讨论】:
标签: .net windows windows-services
我计划使用 Windows 服务(用 C# 编写)运行启动/监视 UI 应用程序。选中“允许服务与桌面交互”。这适用于 windows xp,但对于 windows 7,弹出如下所示
当我点击查看消息时,整个屏幕空白,只显示 UI,如下所示。
有什么方法可以让它在不显示消息和屏幕空白的情况下工作。
cmets/建议表示赞赏。
问候 DEE
【问题讨论】:
标签: .net windows windows-services
在 Vista 及更高版本中,服务无法与桌面交互。服务在所谓的会话 0 隔离 下运行。您正在尝试的事情根本不可能。
您必须重新编写应用程序,以便 UI 部分驻留在标准 Windows 应用程序中,该应用程序在登录用户的桌面上运行。此 UI 部分可以通过您喜欢的任何 IPC 机制与服务进行通信。
【讨论】:
SYSTEM 帐户。
“允许服务与桌面交互”是一个旧选项,现在非常不鼓励使用,尽管它存在,但预计不会在 Windows Vista 及更高版本中工作。
您需要阅读一下为什么在其他 SO 答案中会出现这种情况:
Allow service to interact with desktop in Windows
然后在此处查找答案中讨论的替代方案:
Alternative to "Allow service to interact with desktop"?
SO 之外的另一个讨论:
http://social.msdn.microsoft.com/forums/en-US/windowssdk/thread/f8f91e8f-5954-43a7-8bc4-80ed2ff1e3b1/
【讨论】: