我一直在使用win32api.MessageBox来做警报,这适用于从交互式提示和正常执行的代码运行的应用程序,但是当我在触发MessageBox时构建Python服务时,我可以听到'嘟嘟声'但是框不显示。是否可以显示来自服务的警报?

有帮助吗?

解决方案

不,Windows服务在完全独立的隐藏桌面上运行,无法访问登录用户的桌面。从服务开发者的角度来看,没有办法解决这个问题。

在Windows的早期版本中,服务可能被标记为“允许与用户桌面交互”,但此选项在XP或Vista中被删除(我忘记了哪个)。现在,服务无法与用户桌面交互。

您的问题的一个解决方案可能是让桌面应用程序通过某种IPC方法与服务进行通信。当服务想要提醒用户某些情况时,它会通知桌面应用程序,然后显示一个常规消息框。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top