| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 619 人关注过本帖
标题:Win10 获取当前窗口的尺寸不准确
只看楼主 加入收藏
felixliu2008
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-3-6
  问题点数:0  回复次数:1   
Win10 获取当前窗口的尺寸不准确
VC2008,使用 VC++ 编程,获取当前活动窗口的尺寸和位置。代码如下,很简单的代码。
HWND hForeground;
hForeground = ::GetForegroundWindow();
::GetWindowRect(hForeground, &m_rect);
在 Win7 下运行正常。但在 Win10 下,尺寸会与实际尺寸有固定的偏差。偏差发生在左、下及右侧,上面没有偏差。
我是使用这个尺寸去截屏的,结果就是出现了下图所示的情况。

如果使用 Alt+PrtScrn 截图,则没有这个问题。
大家帮忙分析下是怎么回事?怎么解决?
附件: 您没有浏览附件的权限,请 登录注册
搜索更多相关主题的帖子: Win10 获取 当前 窗口 偏差 
2019-03-06 16:21
felixliu2008
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-3-6
  得分:0 
在别的论坛找到答案了。解决方法参考如下链接。需要使用 DwmGetWindowAttribute 函数替代 GetWindowRect 函数来获取窗口属性。
https://

另外,在 VS2008 中无法使用 DwmGetWindowAttribute 函数。将项目升级到 VS2012,增加 include <dwmapi.h> 即可正常使用了。

[此贴子已经被作者于2019-3-7 08:41编辑过]

2019-03-06 21:11
快速回复:Win10 获取当前窗口的尺寸不准确
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.077845 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved