2011-01-31 120 views
2

我有簡單的非UI應用程序,然後將轉換爲Windows服務。但是爲了測試,看看它何時運行會很有用。所以我想用UI創建一個任務欄按鈕作爲其他應用程序。有合理的努力可能嗎?如何創建沒有任何窗口的任務欄按鈕?

+0

Taskmgr.exe可以顯示您的過程,足夠測試。 – 2011-01-31 16:15:44

回答

4

不,這是不可能的。任務欄上的按鈕代表窗口。沒有窗口就不能有按鈕,並且該窗口需要可見。 (該窗口可以具有將其從屏幕上脫離的座標,並且它可以具有零維度,但它需要具有WS_VISIBLE樣式。)

另一個選項是創建通知圖標。它也需要有一個窗口,但窗口不一定是可見的。儘管如此,如果最終目標是讓程序成爲一項服務,那麼建立起來可能會比你想要的更努力。服務無法顯示通知圖標或有窗口。

也許最簡單的變化是簡單地讓你的程序成爲控制檯程序。然後操作系統將爲您創建一個控制檯窗口。您的程序無需以任何方式創建或管理它。

0

(-32767接近0的大小和位置的某處)創建一個自定義窗口類,並始終保持最小化或總是看不見的窗口

0

Windows服務應該有UI。事實上,在Windows Vista和Windows 7中,它們運行在不同的會話中,無法訪問桌面。

要監視你的服務,你需要編寫另一個應用程序。通常,這些應用程序使用隱藏窗口運行,並使用notification area與用戶進行交互。

1

創建一個類型爲ITaskbarList的對象,然後在其上調用方法AddTab。你不需要一個可見的窗口就可以工作。一個虛擬的,不可見的窗口將會做。 當然,如果你不用上面提到的方法手動添加它,這個窗口就不會出現在任務欄中。

相關問題