2008-10-15 82 views
3

我一直在使用win32api.MessageBox來做警報,並且這適用於從交互式提示符和正常執行的代碼運行的應用程序,但是當我在觸發MessageBox時構建Python服務時,我可以聽到'嘟嘟'但箱子不顯示。是否可以顯示來自服務的警報?來自Python中服務的警報彈出窗口

回答

5

不,Windows服務運行在一個完全獨立的隱藏桌面上,無法訪問登錄用戶的桌面。從服務開發人員的角度來看,沒有辦法解決這個問題。

在以前的Windows版本中,可能會將服務標記爲「允許與用戶桌面交互」,但在XP或Vista中刪除了此選項(我忘記了這一點)。現在,服務無法與用戶桌面進行交互。

您的問題的一個解決方案可能是讓桌面應用程序通過某種IPC方法與該服務進行通信。當服務想要提醒用戶某些情況時,它會通知桌面應用程序,然後該應用程序將顯示常規消息框。

相關問題