我正在尝试通过GetSystemMetrics
获取主监视器的宽度和高度。但是,调用:
GetSystemMetrics(SM_CYVIRTUALSCREEN)
返回的值为
1018
,而不是实际的垂直分辨率1080
。现在,我以为可能我误解了文档,所以我尝试致电
SystemParametersInfo(SPI_GETWORKAREA)
看看那是否真的是全屏显示的那个。但是,它按照说明进行操作,并返回屏幕的工作区域(total_height-taskbar_height)。在我的情况下是1040像素(1080-40(任务栏高度))。
所以,我有些困惑。 1018来自哪里?是什么导致它偏离62像素?
最佳答案
GetSystemMetrics(SM_CYSCREEN)
应该可以完成这项工作。
按照MSDN,这等于GetDeviceCaps(hdcPrimaryMonitor, VERTRES)
,这可能是您真正想要的。