是否可以在Windows Vista或更高版本下从Delphi服务应用程序创建托盘图标?
答案 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>