如何取得目前螢幕解析度:WinAPI 的選項
啟動全螢幕OpenGL 時,決定Windows 中的目前螢幕解析度至關重要視窗的尺寸與桌面相同。以下是使用WinAPI 方法檢測螢幕解析度的綜合指南:
-
主顯示器解析度:
- 擷取以像素為單位的寬度和高度使用GetSystemMetrics(SM_CXSCREEN) 和GetSystemMetrics(SM_CYSCREEN)。
- 或者,分別使用 GetDeviceCaps(screen_hdc, HORZRES) 和 GetDeviceCaps(screen_hdc, VERTRES) 來取得水平和垂直解析度。
-
所有顯示器的組合解析度:
- 利用GetSystemMetrics(SM_CXIRVIRTUALS和高度。
-
工作區解析度(不包含工作列):
- 透過呼叫SystemParametersInfo(SPI_GEGEGEORK,
透過呼叫SystemParametersInfo(SPI_GEGEGEGEORD. ), &rect_ptr 取得工作區尺寸, 0),然後提取寬度和高度的rect_ptr 值。
-
特定顯示器解析度:
- 使用GetMonitorInfo () 使用適當的HMONITOR 來取得工作區域和全螢幕尺寸。
其他注意事項:
- 請記住,監視器座標可能並不總是從0,0開始。在使用 GetMonitorInfo() 之前,使用 MonitorFromWindow() 尋找視窗的活動監視器。
- 要變更螢幕解析度或擷取更新率,請利用低階 API 函數,例如 EnumDisplayDevices()、EnumDisplaySettings() 和ChangeDisplaySettings()。
- GetDeviceCaps() 也可以提供顏色深度資訊。
以上是以下是一些標題選項,請記住問題格式和文章重點關注用於螢幕解析度的 WinAPI 方法:
選項 1(直接和具體):
* 如何取得螢幕分辨率的詳細內容。更多資訊請關注PHP中文網其他相關文章!