我想製作一個覆蓋整個桌面的無字幕窗口,但仍顯示任務欄。做這個的最好方式是什麼?如何製作一個全屏的窗口,但仍顯示任務欄
我可以檢測到任務欄的位置,只是調整我的窗口大小來排除它,但我需要知道用戶何時更改任務欄的大小/位置。
或者,是否有窗口樣式或其他的組合會確保我的窗口始終在任務欄後面?
我想製作一個覆蓋整個桌面的無字幕窗口,但仍顯示任務欄。做這個的最好方式是什麼?如何製作一個全屏的窗口,但仍顯示任務欄
我可以檢測到任務欄的位置,只是調整我的窗口大小來排除它,但我需要知道用戶何時更改任務欄的大小/位置。
或者,是否有窗口樣式或其他的組合會確保我的窗口始終在任務欄後面?
使用從SystemParametersInfo傳回的SPI_GETWORKAREA作爲參數的返回值設置窗口布局。
檢索主顯示器上工作區域的大小。 工作區是屏幕上未被系統 任務欄或應用程序桌面工具欄遮擋的部分。 pvParam參數必須指向一個RECT結構,該結構接收工作區域的座標,以虛擬屏幕座標表示。
最大化沒有標題/邊框的窗口。
+1這非常簡單,而且確實需要什麼。 –
不幸的是,那將只覆蓋一臺顯示器,而不是整個桌面。希望它可以工作 - 優雅的想法。 – tenfour
除了無法從窗口中刪除邊框和標題而不重新創建它的小細節之外。那麼,它並不輕微。 –
你有什麼理由爲什麼你不能最大化你的窗口? – Justin
對WM_GETMINMAXINFO作出響應並仔細計算位置,以使窗口標題和邊框完全落在監視器區域之外並與任務欄重疊。沒有一般情況下,這在多個顯示器上運行良好,它們不必具有相同的大小,只有其中一個顯示任務欄。 –
Windows自動將任務欄放置在帶有標題的窗口後面(不確定當前的確切條件,但是WS_OVERLAPPEDWINDOW)。有一個最大的窗口大小,所以我們不能創建一個帶有標題的窗口,只是抵消它,所以標題/邊框不顯示。我目前的想法是繼續使用WS_OVERLAPPEDWINDOW,但處理WM_NCCALCSIZE所以標題/ etc不存在。現在嘗試。 – tenfour