是否可以从Windows Vista或更高版本的服务应用程序创建托盘图标?

时间:2012-09-08 13:34:33

标签: delphi windows-services tray

是否可以在Windows Vista或更高版本下从Delphi服务应用程序创建托盘图标?

1 个答案:

答案 0 :(得分:5)

不,不是。服务在会话0中运行。您的交互式进程,您的桌面,都在不同的会话中运行,每个登录用户一个。

这种隔离很重要,旨在增强安全性。即使在Windows XP中,您也不打算在服务和桌面之间进行直接交互。开发人员都是这样做的,所以微软在Vista中禁止它。

标准做法是通过其他方式创建托盘图标处理,例如HKLM \ SOFTWARE \运行。然后,该交互过程可以使用IPC与服务进行通信。例如命名管道。

现在,在技术上,在一些非常有限的情况下,服务可以在桌面上启动进程。在此处阅读:http://blogs.msdn.com/b/winsdk/archive/2009/07/14/launching-an-interactive-process-from-windows-service-in-windows-vista-and-later.aspx

如果你还想尝试一下,看完之后,我祝你们好运![/ p>