我已經確定我可以使用GetSystemMetrics(SM_CMONITORS)來查詢連接的監視器的數量,但是它們是否有任何方法來控制CreateWindowEx()用於窗口的監視器?如何讓CreateWindowEx()在特定的監視器上創建窗口?
4
A
回答
7
是的,由「x」和「y」參數。使用EnumDisplayMonitors(傳遞兩個空值)來枚舉監視器。你的MonitorEnumProc回調得到一個RECT *到監視器的顯示矩形。如果顯示器位於主顯示器的左側,則會得到負面的RECT。
4
每個監視器只顯示桌面的某些部分,因此示出了一個特定的監視器上的窗口是窗口移動到該監視器顯示的桌面的一部分的問題。當您調用CreateWindowEx(或CreateWindow)時,您可以爲窗口指定x和y座標,因此在特定監視器上顯示它只是指定在該監視器顯示的區域內指定的座標。
您可以在具有GetMonitorInfo的系統上找到監視器的工作區域。
0
x和y參數指定新窗口的位置。此點可以位於虛擬屏幕上的任何位置(所有顯示器矩形組合在一起)。
如果你想在一臺監視器作爲另一個窗口中,您可以撥打MonitorFromWindow
上創建的窗口。否則,可以使用EnumDisplayMonitors
來枚舉所有監視器。
無論哪種方式,一旦你有一個HMONITOR手柄則必須調用GetMonitorInfo
。您的x和y參數應該是監視器信息結構中rcWork
成員邊界內的值。您通常會選擇將您的窗口置於此矩形中間的值。
它使用工作區的矩形,而不是整個顯示器的矩形,因爲你不希望你的窗口出現在任務欄和其他總在頂部appbars下是很重要的。
相關問題
- 1. C++ CreateWindowEx()無法創建窗口
- 2. 如何使用vba excel在特定監視器上最大化窗口
- 3. 強制glutCreateWindow在雙屏幕設置中的特定監視器上創建窗口
- 4. 在監視窗口
- 5. 如何爲特定目錄創建監視器?
- 6. DLL中的CreateWindowEx()創建一個奇數標題的窗口
- 7. 使用CreateWindowEx創建的窗口中的默認按鈕()
- 8. 如何指定在哪個監視器上打開控制檯窗口?
- 9. 如何在Python 2上創建窗口?
- 10. 無法使用現有子類創建窗口(CreateWindowEx)
- 11. 如何在Android上的其他窗口頂部創建窗口
- 12. 在窗口的特定區域創建GLX上下文
- 13. 搜索在監視窗口
- 14. 填充在監視窗口
- 15. 如何在英特爾圖形上創建「監視器插入」回調?
- 16. 如何在文章網站的特定行上創建彈出窗口?
- 17. 如何在iPhone上創建多個窗口/視圖?
- 18. 如何在Windows中的特定顯示器上打開窗口?
- 19. 如何在通過CreateProcess創建的進程上創建窗口
- 20. 如何以最大窗口大小從資源管理器打開文件到特定監視器上?
- 21. 創建應用程序的實時監視窗口
- 22. 如何創建一個自毀的子窗口來監視活動?
- 23. 如何讓'mvn lagom:runAll'讓我的服務在端口上監聽?
- 24. 如何從窗口管理器檢索特定窗口上的信息?
- 25. 如何爲特定任務創建螞蟻監聽器
- 26. C#創建窗口 - 定義父窗口
- 27. 監視ForwardedEvents窗口日誌
- 28. 監視Eclipse窗口接受
- 29. 如何在Excel VBA監視窗口中監視字典中的值?
- 30. 管理多個監視器上的多個窗口