2011-09-14 69 views

回答

0

如果您的需求僅限於對話框,請查看WTSSendMessage function

+0

我知道這個功能,但不知道如何實現。 請給我一些在C#中的演示。因爲我在C++中獲得了演示,但它的理解非常複雜... –

+1

http://www.codeproject.com/KB/winsdk/LiviuBirjegaCode3.aspx?msg=3139763 – CoreTech

2

不能從服務顯示UI。服務在會話0中運行,並且沒有桌面。當沒有登錄的用戶時運行更多的服務。再次沒有桌面。

你有兩個選擇:

  1. 登錄您的消息,而不是試圖向他們展示。
  2. 在登錄用戶的桌面上有一個作爲標準用戶應用程序運行的幫助應用程序。此應用可以顯示用戶界面。通過您選擇的IPC機制在服務和應用之間進行溝通。
+0

我需要一些適當的例子..這想每一個說.. 檢查此鏈接該服務工作正常.. http://bartdesmet.net/blogs/bart/archive/2004/12/03/ 488.aspx 這裏的Windows服務在桌面上發送GUI消息 但我想在GUI消息的桌面上顯示服務異常 –

+0

您引用的文章是在會話0隔離發明之前編寫的。該文章中描述的方法不再有效。 [本文](http://blogs.msdn.com/b/yvesdolc/archive/2009/08/20/do-you-still-use-the-messagebox-api-in-your-windows-service.aspx )描述了一些替代方案(包括示例代碼)。 –