GetDeviceCaps(hdc,LOGPIXELSX)返回值不对的问题 5C

HDC hdc = ::GetDC(NULL);
int horizontalDPI = ::GetDeviceCaps(hdc,LOGPIXELSX);
以上为具体代码,我的机器环境是win10x64+VS2010,建立MFC项目时,**该语句的执行结果是192**(该结果是正确的,我机器是surface pro4,**高分辨屏幕**),但是建立WIN32项目时(不采用MFC,利用SDK开发),**获取的结果却是96**,有知道原因的吗?
我用JAVA测试过,获取的结果也是192(192才是正确的结果)

1个回答

问题找到了!SDK项目要自己调用SetProcessDPIAware(),以声明程序支持DPI缩放,猜测MFC应该是自动调用了该函数

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!