2008-10-07 104 views
0

我在C#和Windows Server 2003中創建了一個windows服務。我希望我的服務能夠運行Windows窗體應用程序的exe文件。當我啓動服務時 - 它運行另一個應用程序,但我看不到它。當我打開任務管理器時 - 我可以看到應用程序正在運行,但我看不到它。我選中了「允許服務與桌面交互」,但沒有任何反應。請幫忙。 是否有可能在windows服務中運行和執行,並看到在widnows server 2003中運行的exe文件?從windows服務運行exe,與用戶桌面交互

回答

5

顯示來自Windows服務的用戶界面非常成問題,因爲該服務可能在與用戶不同的桌面上運行(並且在Vista/Server 2008上實際上始終運行在不同的桌面上)。

最簡單的解決方案不是直接從服務運行UI,而是從運行在用戶桌面上的應用程序(可能設置爲在登錄時運行)以某種方式與服務通信。

只需記住:

  1. 有可能是在用戶沒有登錄
  2. 可能有多個登錄使用快速用戶切換或遠程桌面
  3. 在用戶桌面上的應用程序的用戶在運行用戶的安全上下文,而不是服務的
+0

好的答案。也許增加關於如何在服務和桌面應用程序之間進行通信的建議。 – Ken 2008-10-07 12:21:32

相關問題