获取屏幕分辨率的MFC和Windows API之间的区别

时间:2016-12-06 15:08:34

标签: c++ winapi mfc screen-resolution

我将Windows屏幕分辨率设置为 1920x1080 。 我有c ++ windows API程序,需要使用GetSystemMetrics函数。

int x = GetSystemMetrics(SM_CXSCREEN);//retun x=1536
int y = GetSystemMetrics(SM_CYSCREEN);//retun y=864

如你所见,我从1920x1080获得了不同的价值。  但是如果我在程序设置中使用MFC标题( afx.h )并使用 MFC dll ,则返回值x,y等于Windows屏幕分辨率(1920x1080)。

为什么这两种方法不相同?

如何在不使用MFC的情况下在程序中获得正确的Windows屏幕分辨率?

1 个答案:

答案 0 :(得分:6)

你有可能在Windows上运行125%的缩放比例吗?自1,25 * 1536 = 1920和1,25 * 864 = 1080?我认为MFC不支持DPI。

另请参阅this,了解如何将应用程序标记为支持DPI。