我在嘗試(使用.NET的WinForms)Vista服務:可以在隱形桌面上顯示錶單嗎?
顯然形式就不會顯示在控制檯的用戶,因爲服務是在會話隔離,以顯示從Vista中的服務的形式0
然而實驗是看是否有可能「顯示」一個不可見的窗體並獲得一個窗口句柄&消息循環
我試過了,但是當我發出form.Show()時,只有form.Load事件觸發不了.Shown或.FormClosing
有什麼方法可以捕獲windo ws消息以這種方式作爲用戶應用程序?
我還沒有試圖使服務'交互式',因爲我不想與登錄用戶進行交互。
非常感謝。你是如何在考試中開始表格的? 我試過ShowDialog(),但得到了 >> 'System.InvalidOperationException'當應用程序未在UserInteractive模式下運行時,顯示模態對話框或窗體不是有效的操作。指定ServiceNotification或DefaultDesktopOnly樣式以顯示來自服務應用程序的通知。 << 我想顯示這個(隱藏)窗口並獲取消息,試圖在系統關閉時嘗試處理服務中的WM_QUERYENDSESSION - 嘗試取消關機並結合ShutdownBlockReasonCreate – 2009-10-29 23:20:24
我在我的Application.Run中使用了測試和工作正常。 ShowDialog用於正常工作,但顯然他們在2.0框架中添加了一個檢查來禁止它。就我個人而言,我認爲從服務中取消關機並不是一個好主意,但如果你真的想這樣做,它應該可以工作。只需調用Application.Run(myFormInstance)而不是myFormInstance.ShowDialog。 – 2009-10-30 15:44:59