加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 我可以检测窗口是否部分隐藏?

发布时间:2020-12-15 09:37:42 所属栏目:大数据 来源:网络整理
导读:是否有可能检测到我以外的程序窗口是否1)完全可见,2)部分隐藏,或3)完全隐藏?如果窗口(基于检索到的句柄)不可见,我希望能够告诉我的应用程序不要做任何事情.我不关心窗口是否有焦点,z顺序是什么,或者其他什么,我只是对窗口显示的内容感兴趣.如果我需要别的东
是否有可能检测到我以外的程序窗口是否1)完全可见,2)部分隐藏,或3)完全隐藏?如果窗口(基于检索到的句柄)不可见,我希望能够告诉我的应用程序不要做任何事情.我不关心窗口是否有焦点,z顺序是什么,或者其他什么,我只是对窗口显示的内容感兴趣.如果我需要别的东西来解决这个问题,我很好,但有可能吗?谢谢.

解决方法

Raymond Chen几年前写过 an article about this.

它的要点是你可以使用GetClipBox告诉你窗口的设备上下文有哪种裁剪区域.空区域意味着窗口完全被遮挡,复杂区域意味着它被部分遮挡.如果它是一个简单(矩形)区域,则可见性取决于可见矩形是否与窗口的边界重合.

DC一次只能由一个线程使用.因此,您不应为不属于您的应用程序获取窗口的DC.否则,您可能会遇到另一个应用程序 – 不知道您正在做什么 – 在您仍在使用它来检查剪切区域时尝试使用其DC的情况.不过,用它来判断你自己的窗户应该是完全安全的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读