我在这里发帖是因为有人知道为什么我的屏幕尺寸被报告为611而不是600?
GetSystemMetrics(SM_CYFULLSCREEN)
返回611.我的上网本是1024x600,所以我预计600,而不是611。
对于1024x611的Google搜索,也会产生惊人数量的结果。
答案 0 :(得分:1)
SM_CXFULLSCREEN and SM_CYFULLSCREEN返回全屏窗口的大小,因此任务栏通常会小于您的屏幕尺寸:
主节点上全屏窗口的客户区宽度 显示器,以像素为单位。获取部分的坐标 屏幕未被系统任务栏或屏幕遮挡 应用程序桌面工具栏,调用SystemParametersInfo函数 使用SPI_GETWORKAREA值。
将它与SPI_GETWORKAREA in SystemParametersInfo为您的显示器返回的内容进行比较?或者您在控制面板中设置的显示是什么?
1024x640的屏幕将是真正的16:10比例,并且相当于~611 y可用桌面尺寸。
答案 1 :(得分:1)
来自其他论坛帖子,似乎GetSystemMetrics(SM_CYFULLSCREEN)
并不总是返回已删除的结果。它似乎有所调整,可能不是你想要的价值。
尝试使用GetSystemMetrics(SM_CYSCREEN)
,这将返回主监视器的大小。
(另请注意,有些人使用多台显示器:注意不要将应用程序限制在一台显示器上)