如何获取当前屏幕分辨率:WinAPI 的选项
启动全屏 OpenGL 时,确定 Windows 中的当前屏幕分辨率至关重要窗口的尺寸与桌面相同。以下是使用 WinAPI 方法检测屏幕分辨率的综合指南:
-
主显示器分辨率:
- 检索以像素为单位的宽度和高度使用 GetSystemMetrics(SM_CXSCREEN) 和 GetSystemMetrics(SM_CYSCREEN)。
- 或者,分别使用 GetDeviceCaps(screen_hdc, HORZRES) 和 GetDeviceCaps(screen_hdc, VERTRES) 获取水平和垂直分辨率。
-
所有显示器的组合分辨率:
- 利用 GetSystemMetrics(SM_CXVIRTUALSCREEN) 和 GetSystemMetrics(SM_CYVIRTUALSCREEN) 获取总宽度和高度。
-
工作区分辨率(不包括任务栏):
- 通过调用 SystemParametersInfo(SPI_GETWORKAREA, sizeof(RECT), &rect_ptr 获取工作区尺寸, 0),然后提取宽度和高度的 rect_ptr 值。
-
特定显示器分辨率:
- 使用 GetMonitorInfo () 使用适当的 HMONITOR 来获取工作区域和全屏尺寸。
其他注意事项:
- 请记住,监视器坐标可能并不总是从 0,0 开始。在使用 GetMonitorInfo() 之前,使用 MonitorFromWindow() 查找窗口的活动监视器。
- 要更改屏幕分辨率或检索刷新率,请利用低级 API 函数,例如 EnumDisplayDevices()、EnumDisplaySettings() 和ChangeDisplaySettings()。
- GetDeviceCaps() 还可以提供颜色深度信息。
以上是以下是一些标题选项,请记住问题格式和文章重点关注用于屏幕分辨率的 WinAPI 方法:
选项 1(直接和具体):
* 如何获取屏幕分辨率的详细内容。更多信息请关注PHP中文网其他相关文章!