簡體   English   中英

從Windows服務打開一個對話框窗口

[英]Open a dialog window from a windows service

我在C#中創建了一個Windows服務應用程序,以特定的間隔彈出一個對話框窗口。 在Visual Studio中進行調試時,它運行良好。 然后我創建了一個安裝設置。 但是在安裝服務后沒有觸發彈出對話框窗口。 原因是什么,我該如何解決?

服務在會話0中運行,該會話與交互式桌面隔離。 您無法從服務中顯示UI。 您需要運行單獨的桌面進程來顯示UI,然后使用IPC在服務和桌面進程之間進行通信。

如果對話框足夠簡單,則可以使用WTSSendMessage

如果您想定期運行代碼,那么您可能最好使用計划任務而不是服務。

您的服務是如何安裝的? 你有什么Windows版本?

如果vista / 7確實顯示交互式服務檢測?

底線是從未設計用於用戶交互的Windows服務。

但是有一種方法,但我建議使用不同的方式與用戶進行交互

設置Windows服務以與桌面交互可能會帶來安全問題。

我發布此鏈接希望它有所幫助

http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/1c3d4b96-c58b-465a-a964-89926bd455f1/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM