VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 290|回复: 7

[已解决]GetSystemMetrics的偏差

[复制链接]
53_avatar_middle
最佳答案
2 
在线会员 发表于 2019-12-30 14:55:05 | 显示全部楼层 |阅读模式
我在做屏幕截图工具的时候,遇到一个问题,用GetSystemMetrics方法拿不到整个屏幕,我以为是win10的问题,但是我在别的win10电脑上也试了,有的电脑可以拿到全屏,有点电脑只能拿到四分之三的屏幕,宽1500,高800左右的屏幕,这是为什么?求大佬解答
最佳答案
51_avatar_small
2019-12-30 15:42:24
应该是 DPI 的问题,是不是缩放了!
用得到的分辨率跟 DPI 相除一下试试




上一篇:codeproject 访问这个网站速度太慢,且没有图片
下一篇:Unicode与【big5、GB2312、GBK 】是什么关系?
53_avatar_middle
最佳答案
2 
ico_lz  楼主| 发表于 2019-12-31 16:55:37 | 显示全部楼层
Syc 发表于 2019-12-30 21:35
暂时没想到别的。。。

我找到一个方法:
int screenWidth = 0;
        int screenHeight =0 ;

        DEVMODE   dm;
        dm.dmSize = sizeof(DEVMODE);
        ::EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm);
        screenWidth = dm.dmPelsWidth;
        screenHeight = dm.dmPelsHeight;

EnumDisplaySettings这个类可以从电脑配置里拿到电脑的屏幕信息和其他信息
51_avatar_middle
最佳答案
82 
online_admins 发表于 2019-12-30 15:42:24 | 显示全部楼层    本楼为最佳答案   
bestAnswer
应该是 DPI 的问题,是不是缩放了!
用得到的分辨率跟 DPI 相除一下试试
53_avatar_middle
最佳答案
2 
ico_lz  楼主| 发表于 2019-12-30 18:31:08 | 显示全部楼层
Syc 发表于 2019-12-30 15:42
应该是 DPI 的问题,是不是缩放了!
用得到的分辨率跟 DPI 相除一下试试

感谢感谢                                                      
53_avatar_middle
最佳答案
2 
ico_lz  楼主| 发表于 2019-12-30 19:29:01 | 显示全部楼层
Syc 发表于 2019-12-30 15:42
应该是 DPI 的问题,是不是缩放了!
用得到的分辨率跟 DPI 相除一下试试

请问,你有简单的方法可以解决吗?我是想到了一个方法,就是通过GetDeviceCaps方法获取电脑的DPI然后,再相乘就好,但是我觉得这个代码量有点多,和繁杂,你有什么更好的解决方法吗?
51_avatar_middle
最佳答案
82 
online_admins 发表于 2019-12-30 21:35:10 | 显示全部楼层
nwm 发表于 2019-12-30 19:29
请问,你有简单的方法可以解决吗?我是想到了一个方法,就是通过GetDeviceCaps方法获取电脑的DPI然后,再 ...

暂时没想到别的。。。
53_avatar_middle
最佳答案
2 
ico_lz  楼主| 发表于 2019-12-31 17:13:02 | 显示全部楼层
Syc 发表于 2019-12-30 21:35
暂时没想到别的。。。

但还有个奇怪的问题,这个方法我用在截全屏上是有用的,但用在自定义截屏上的时候,模态对话框弹出来后把屏幕内容当背景后,弹出来的现象还是经过DPI缩放的,但是我设置断点,发现得到的屏幕数据是正确的,没有经过缩放。这就很奇怪,大佬,你有什么思路没有?
58_avatar_middle
最佳答案
43 
online_vip 发表于 2020-1-2 02:03:33 | 显示全部楼层
肯定能实现的,只是目前没有必要花太多时间去搞,带着问题往后学吧。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-10-23 17:05

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表