」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用SetWindowPos準確地將窗口定位在多個顯示器上?

如何使用SetWindowPos準確地將窗口定位在多個顯示器上?

發佈於2025-03-25
瀏覽:667

[2

setWindowPos How Can I Accurately Position Windows Across Multiple Monitors Using SetWindowPos?
跨多個顯示器的精確窗口放置

使用

有效地將窗口定位在多個顯示器上,需要對系統顯示配置和虛擬屏幕概念的細微理解。

理解系統顯示和虛擬屏幕

[2 主監視器的原點是(0,0)。 次級監視器具有負X坐標(主要的)或正X坐標(主要的右側)。 [2

這是一個概念顯示,涵蓋了所有連接的顯示器。它的起源是最左邊監視器的左上角。 它的寬度是所有監視器寬度的總和,其高度是最高監視器的高度。

[2

屏幕類提供檢索重要屏幕信息的方法:

:標識包含給定窗口(hwnd)的屏幕。

:返回包含指定矩形的屏幕界

screen.deviceName :檢索屏幕的設備名稱,可用於圖形上下文創建。

利用本機win32函數:

這些功能提供了用於監視標識的替代方法:

monitalfromwindow :返回與窗口關聯的監視器句柄。 monitalfrompoint :返回給定點的監視器句柄。

setWindowpos 定位窗口,並監視坐標

    使用
  • 將窗口定位在特定的監視器上,請按照以下步驟:
  • 標識目標監視器:使用上述方法獲得所需的監視器的Hmonitor
  • 計算虛擬屏幕坐標:根據監視器位置相對於主監視器調整窗口的X坐標。 減去主要監視器的總寬度的總寬度。
使用

setWindowPos 在[

setWindowpos

中使用計算出的虛擬屏幕坐標。

setWindowPos(hwnd,hwndinsertafter,x,y,cx,cy,cy,swp_nozorder | swp_nosize | swp_showwindow)
  • 通過使用
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3