当前位置: 首页 > news >正文

Windows判断某窗口是否被其他窗口完全覆盖

bool IsCoveredByOtherWindow(HWND hWnd)
{// 1. 基本有效性检查if (!IsWindow(hWnd))return true;// 2. 如果窗口不可见或最小化,认为被覆盖if (!IsWindowVisible(hWnd) || IsIconic(hWnd))return true;// 3. 获取窗口矩形RECT rect;if (!GetWindowRect(hWnd, &rect))return true;LONG width = rect.right - rect.left;LONG height = rect.bottom - rect.top;if (width <= 0 || height <= 0)return true;// 4. 定义采样点(9个)POINT points[9] = {0};// 左上points[0] = { rect.left, rect.top };// 右上points[1] = { rect.right - 1, rect.top };// 左下points[2] = { rect.left, rect.bottom - 1 };// 右下points[3] = { rect.right - 1, rect.bottom - 1 };// 上中points[4] = { rect.left + width / 2, rect.top };// 下中points[5] = { rect.left + width / 2, rect.bottom - 1 };// 左中points[6] = { rect.left, rect.top + height / 2 };// 右中points[7] = { rect.right - 1, rect.top + height / 2 };// 中心points[8] = { rect.left + width / 2, rect.top + height / 2 };// 5. 检查每个采样点for (const auto& pt : points) {HWND hWndAtPt = WindowFromPoint(pt);// 如果点所在窗口是目标窗口或其子窗口,则至少有一部分可见if ((hWndAtPt == hWnd) || IsChild(hWnd, hWndAtPt)) {return false;}}// 所有采样点都被其他窗口覆盖return true;
}

  

http://www.jsqmd.com/news/467944/

相关文章:

  • 细胞重启计划3.0!NMN抗衰老产品哪个牌子最好?高活NMN30000“全链路”修复衰老因子 - 资讯焦点
  • 终极指南:如何使用dSYM文件调试360Controller崩溃问题
  • 通达信【量化操盘仓位管理】主图指标CJM99源码分享
  • CentOS7下KingbaseES V9与MySQL性能对比实测:从安装到压测全记录
  • 考临床执医到底听谁的课? - 医考机构品牌测评专家
  • 某大V叫卖3800的通达信〖趋势拐点判定法则〗指标,让我精准捕捉了2月的所有起爆点!
  • MX Component 5.004E如何与PLC通讯? - 尼古拉
  • 基于 HT 搭建的水利工程与水资源智慧化管控平台
  • 2026 NMN排行榜权威发布:科研、吸收率、性价比一次说清 - 资讯焦点
  • 硬件时钟vs系统时钟:为什么你的Linux服务器时间总是不对?
  • 2026环保板材品牌怎么选?关键指标与优质品牌推荐 - 品牌排行榜
  • CUDA Toolkit 10.x环境搭建:Learn CUDA Programming新手入门
  • C++规则三/五/零深度剖析:基于cpp-compilation项目的实践指南
  • 从COBOL到PL/1:为什么IBM System/3603选择了这种‘全能‘编程语言?
  • publint网站使用指南:在线检测npm包打包错误的简单方法
  • 2026 年北京高价回收名酒推荐和联系方式:北京振伟老酒回收行业测评 - 资讯焦点
  • IPED数据恢复高级技巧:从损坏分区中提取文件的完整指南
  • 从实习到总监:金融风控岗位晋升全路径解析(附FRM/CFA备考建议)
  • 从LAION 5B到AVA数据集:improved-aesthetic-predictor训练数据准备全攻略
  • NMN哪个牌子好?2026年最新抗衰品牌口碑排名,奥本元Aoisao成年度黑马 - 资讯焦点
  • 如何使用Dawarich API构建自定义位置数据集成:完整指南
  • 上海杨浦区大宅整装靠谱的
  • Smaz核心功能解析:两个函数实现高效字符串压缩
  • 如何使用HandyControl打造高效WPF项目管理工具:10个简单步骤实现开发里程碑
  • Dawarich多用户权限管理终极指南:实现完美数据隔离的10个技巧
  • 【GitHub项目推荐--Weaver:基于LangGraph的企业级AI智能体平台】
  • 银行级安全实践:Kylin V10系统下Kettle连接GaussDB的三大避坑指南
  • 定制化模型架构:MARLlib模型动物园使用与自定义开发教程
  • jsonfile入门教程:5分钟掌握Node.js中JSON文件的读写技巧
  • 如何用AndroBugs Framework快速检测Android应用安全漏洞?完整指南