2016-01-11 35 views
0

我有一個基於Qt的控制檯應用程序,必須位於Windows系統托盤(又名通知區域)。隱藏Windows控制檯如果最小化

問題:如果用戶單擊「最小化」圖標,如何隱藏控制檯窗口而不是最小化?我知道ShowWindow方法,但據我猜測,我必須異步調用它。

+0

找到控制檯窗口的窗口句柄並隱藏它 –

+0

程序會隱藏自己(它的窗口)或其他程序會隱藏它嗎? – i486

回答

-2

您需要獲取控制檯窗口的HWND窗口句柄,然後您可以使用ShowWindow以通常方式顯示或隱藏它。

問題是什麼時候做呢?您需要知道窗口何時被最小化以便知道是否隱藏它。

你可以定期檢查,但你應該小心,以確保你沒有阻止筆記本電腦等睡覺。

或者,您可以安裝消息掛鉤或子窗口,以接收即時通知。

子類化窗口可能是最好的方法。

+0

嗨,在這種情況下,可能是基類和應該覆蓋哪些方法? – Moravas

+0

@moravas,那不是Window Subclassing的工作方式。這項技術有一段歷史,可以追溯到1985年,在C++普遍使用之前。你需要查看「窗口子類」。 – Ben

+0

控制檯窗口不是您的平均窗口。它由CSRSS系統流程擁有,[不能輕易分類](http://stackoverflow.com/q/13371644/1889329)。 – IInspectable