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

iMa*_*ari 2 delphi windows-services tray

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

Dav*_*nan 5

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

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

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

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

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