2011-08-12 36 views
4

我想製作一個覆蓋整個桌面的無字幕窗口,但仍顯示任務欄。做這個的最好方式是什麼?如何製作一個全屏的窗口,但仍顯示任務欄

我可以檢測到任務欄的位置,只是調整我的窗口大小來排除它,但我需要知道用戶何時更改任務欄的大小/位置。

或者,是否有窗口樣式或其他的組合會確保我的窗口始終在任務欄後面?

+1

你有什麼理由爲什麼你不能最大化你的窗口? – Justin

+0

對WM_GETMINMAXINFO作出響應並仔細計算位置,以使窗口標題和邊框完全落在監視器區域之外並與任務欄重疊。沒有一般情況下,這在多個顯示器上運行良好,它們不必具有相同的大小,只有其中一個顯示任務欄。 –

+0

Windows自動將任務欄放置在帶有標題的窗口後面(不確定當前的確切條件,但是WS_OVERLAPPEDWINDOW)。有一個最大的窗口大小,所以我們不能創建一個帶有標題的窗口,只是抵消它,所以標題/邊框不顯示。我目前的想法是繼續使用WS_OVERLAPPEDWINDOW,但處理WM_NCCALCSIZE所以標題/ etc不存在。現在嘗試。 – tenfour

回答

3

使用從SystemParametersInfo傳回的SPI_GETWORKAREA作爲參數的返回值設置窗口布局。

檢索主顯示器上工作區域的大小。 工作區是屏幕上未被系統 任務欄或應用程序桌面工具欄遮擋的部分。 pvParam參數必須指向一個RECT結構,該結構接收工作區域的座標,以虛擬屏幕座標表示。

3

最大化沒有標題/邊框的窗口。

+0

+1這非常簡單,而且確實需要什麼。 –

+0

不幸的是,那將只覆蓋一臺顯示器,而不是整個桌面。希望它可以工作 - 優雅的想法。 – tenfour

+1

除了無法從窗口中刪除邊框和標題而不重新創建它的小細節之外。那麼,它並不輕微。 –

相關問題