windows 获取显示器真实分辨率 MFC
时间: 2023-08-12 15:20:02 浏览: 95
可以使用以下代码获取显示器的真实分辨率:
```cpp
// 获取主显示器的真实分辨率
CRect rect;
SystemParametersInfo(SPI_GETWORKAREA, NULL, &rect, NULL);
int width = rect.Width();
int height = rect.Height();
// 获取所有显示器的真实分辨率
CRect desktopRect;
::GetDesktopWindow();
HMONITOR hMonitor = MonitorFromWindow(NULL, MONITOR_DEFAULTTOPRIMARY);
MONITORINFOEX monitorInfo = { sizeof(MONITORINFOEX) };
if (GetMonitorInfo(hMonitor, &monitorInfo)) {
desktopRect = monitorInfo.rcMonitor;
}
int width = desktopRect.Width();
int height = desktopRect.Height();
```
其中,`SystemParametersInfo` 函数用于获取主显示器的工作区大小,即不包括任务栏、窗口标题栏等占用屏幕空间的区域。`GetMonitorInfo` 函数用于获取指定显示器的信息,包括真实分辨率等。
阅读全文