[英]Open a dialog window from a windows service
我在C#中創建了一個Windows服務應用程序,以特定的間隔彈出一個對話框窗口。 在Visual Studio中進行調試時,它運行良好。 然后我創建了一個安裝設置。 但是在安裝服務后沒有觸發彈出對話框窗口。 原因是什么,我該如何解決?
服務在會話0中運行,該會話與交互式桌面隔離。 您無法從服務中顯示UI。 您需要運行單獨的桌面進程來顯示UI,然后使用IPC在服務和桌面進程之間進行通信。
如果對話框足夠簡單,則可以使用WTSSendMessage 。
如果您想定期運行代碼,那么您可能最好使用計划任務而不是服務。
您的服務是如何安裝的? 你有什么Windows版本?
如果vista / 7確實顯示交互式服務檢測?
底線是從未設計用於用戶交互的Windows服務。
但是有一種方法,但我建議使用不同的方式與用戶進行交互
設置Windows服務以與桌面交互可能會帶來安全問題。
我發布此鏈接希望它有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.