无法在C ++中获得正确的屏幕分辨率

问题描述

我有这种方法获取屏幕的宽度和高度:

void getScreenResolution(int &width,int &height){
    width=GetSystemMetrics(SM_CXSCREEN);
    height=GetSystemMetrics(SM_CYSCREEN);
}

其屏幕尺寸为 1280 X 720

但是我的显示器是 1920 X 1080 。宽度/高度的比喻是正确的,但是当我尝试拍摄屏幕截图时,只有一部分屏幕尺寸1280 X 720是可见的。

我也尝试使用:

 x2 = GetSystemMetrics(SM_cxvIRTUALSCREEN);
 y2 = GetSystemMetrics(SM_CYVIRTUALSCREEN);

HMONITOR monitor = MonitorFromWindow(hwnd,MONITOR_DEFAULTTONEAREST);
MONITORINFO info;
info.cbSize = sizeof(MONITORINFO);
GetMonitorInfo(monitor,&info);
int monitor_width = info.rcMonitor.right - info.rcMonitor.left;
int monitor_height = info.rcMonitor.bottom - info.rcMonitor.top;

所有设备的分辨率均为1280 X 720,对我来说似乎没有任何作用。

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)