2010-04-05 52 views

回答

5

系統托盤中的圖標稱爲「通知圖標」。

要對您自己的應用程序執行此操作,如果您使用WinForms,則可以使用NotifyIcon類在系統托盤中顯示圖標。然後,您必須將其設置爲不顯示在任務欄中。

如果您使用WPF沒有替代品,您仍然必須使用舊的WinForms NotifyIcon類,請查看此MSDN sample瞭解更多信息。


如果你想隱藏另一個應用程序,你需要做的就是使用API​​調用來更改應用程序窗口的狀態。

您可以使用FindWindow獲取要隱藏的窗口的句柄,然後您可以使用GetWindowLong獲取windows狀態。然後,您需要從狀態中刪除WS_EX_APPWINDOW標誌,並使用SetWindowLong方法應用新樣式,這會將其從任務欄中刪除。然後,您可以使用Get/SetWindowState方法來找出窗口的狀態並隱藏/最小化它。

您仍然只需要使用NotifyIcon類在系統托盤中顯示您自己的圖標。

祝你好運,所有這一切。這不是我親自嘗試過的,但是我用其他方式使用了所有這些方法調用。如果您還沒有從C#中完成API,那麼您可能需要做一些Google搜索來找出版本API方法的DllImport。儘管如此,不應該太難。


Crazyd22已經發現,使用一套略有不同的API方法,但實現了幾乎相同的效果codeproject article。 (見下面的評論。)

+0

是的,我知道這一點,我的意思是不同的應用程序,如iTunes – Crazyd22 2010-04-05 20:05:52

+0

哦,你想最小化其他程序到系統托盤。好的,要做到這一點,您仍然需要使用NotifyIcon在系統托盤中顯示圖標,但您需要找到一個API調用來隱藏程序任務欄窗口。等一下,我會看看我能找到什麼。 – 2010-04-05 20:11:17

+0

我明白了,很好,謝謝^^ – Crazyd22 2010-04-05 20:17:09