我将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屏幕分辨率?
答案 0 :(得分:6)
你有可能在Windows上运行125%的缩放比例吗?自1,25 * 1536 = 1920和1,25 * 864 = 1080?我认为MFC不支持DPI。
另请参阅this,了解如何将应用程序标记为支持DPI。