FindWindowEx  唯一麻烦是第2个参数的指定 .

Explore 下窗口是Z序的  , 实际上就是根据 第一个参数 和 第2个参数 来找 第2个参数后的一个窗口:

HWND child = 0;

child = FindWindowEx  ( NULL , child ,NULL,NULL);

这样 , child 就是一个Explore ,

然后 , 通过循环能够找到child 的下一个窗口

//遍历所有子窗口的子窗口 , Z序遍历
void print_window2(HWND parent , int level)
{HWND child = NULL;TCHAR buf[MAX_PATH];DWORD pid = 0, tid = 0;do{child = FindWindowEx(parent, child, NULL, NULL);int ret = GetWindowText(child, buf, MAX_PATH);buf[ret] = 0;tid = GetWindowThreadProcessId(child, &pid);for (int i = 0; i < level; ++i)_tprintf(L"\t");_tprintf(L"%s ,  pid:%d, tid:%d\n", buf, pid, tid);if (child)print_window2(child , level + 1);} while (child);
}//遍历所有 explore 下的窗口 , Z序遍历
void print_window()
{HWND child = NULL;TCHAR buf[MAX_PATH];DWORD pid = 0, tid = 0;do{//查找 Explore 下的一个窗口,如果能找到则根据 Explore 下的child 继续找child = FindWindowEx(NULL, child, NULL, NULL);int ret = GetWindowText(child, buf, MAX_PATH);buf[ret] = 0;tid = GetWindowThreadProcessId(child, &pid);_tprintf(L"%s ,  pid:%d, tid:%d\n", buf, pid, tid);//遍历子窗口们if (child)print_window2(child, 1);} while (child);
}

FindWindowEx 遍历所有窗口相关推荐

  1. 使用IAccessible接口,遍历DirectUI窗口控件的问题?

    前一段时间,做一个程序,需要完成一个小功能,即对鼠标监视,当左键单击某个文件选中时,获得该文件文件名称. 折腾了好久,最终在windowsXP下完美实现了.实现的思路是: 1.下鼠标钩子,获得鼠标左键 ...

  2. win32gui 获取相同类名edit编辑框 获取窗口标题 遍历子窗口

    python操作SAP登录时,遇到一个奇怪问题,在其它server运行正常的程序,换了一台server不能通过搜索框,搜索. 经过排查发现有三个相同类名的编辑框,类名为"Edit" ...

  3. python win32gui 遍历所有窗口 根据标题获取句柄 关闭这个标题的窗口 遍历窗口 获取句柄

    首先遍历所有窗口句柄,再提取有标题的窗口 符合条件的,关闭窗口 2023年3月6日 星期一 更新 不管是否可见,都关掉 def winEnumHandler(hwnd, ctx):#if win32g ...

  4. C#查找指定窗口的子窗口的句柄

    用axWebBrowser加载HTML网页时,真正显示内容的窗体并不是axWebBrowser,而是其子窗口的子窗口一个名为Internet Explorer_Server的类.从spy++可知: 公 ...

  5. Windows核心编程_将窗口嵌入到桌面图标下面不被遮挡 spy 分析过程

    近年很流行动态视频桌面,实则上早期的windows vista系统上有一个Windows DreamScene软件将桌面壁纸设置成视频,但是是收费的! 首先先来观察一下Windows桌面的组成单元: ...

  6. Windows编程捕获特定窗口及键盘鼠标消息模拟

    Windows编程捕获特定窗口及键盘鼠标消息模拟 一.简介 二.使用到的API简介 三.获取Windows记事本的编辑区窗口的句柄并模拟输入操作 1.分析 2.代码一 3.代码二 四.后记 一.简介 ...

  7. 用C#调用Windows API向指定窗口发送按键消息

    为什么80%的码农都做不了架构师?>>>    用C#调用Windows API向指定窗口发送 一.调用Windows API. C#下调用Windows API方法如下: 1.引入 ...

  8. SDK 操作 list-view control 实例 -- 遍历进程

    遍历窗口,获得控件句柄 1 EnumChildWindows(hwndDlg, (WNDENUMPROC)EnumChildProc, NULL); 回调函数 1 BOOL CALLBACK Enum ...

  9. leetcode 滑动窗口小结 (三)

    目录 978. 最长湍流子数组 题目 思路分析以及代码 1052. 爱生气的书店老板 题目 思考分析与初步代码 优化思路以及优化代码 1208. 尽可能使字符串相等 题目 思考分析以及代码 978. ...

最新文章

  1. Android点击Button实现功能的几种方法
  2. boost::iostreams::example::container_device用法的测试程序
  3. 在C#中利用SharpZipLib进行文件的压缩和解压缩
  4. 网络虚拟化技术(一): linux网络虚拟化,网络虚拟化技术(一): Linux网络虚拟化...
  5. ImportError: cannot import name FileStorage
  6. 设计模式:里氏替换原则
  7. android textview doubleclick,Android的TextView的双击事件监听
  8. 操作系统和Linux
  9. python numpy安装失败_解决python3.x安装numpy成功但import出错的问题
  10. 【原创】全面剖析飞凌2440,6410开发板选型指南
  11. case when then else_SQL 优化大神玩转 MySQL函数系列_case_when 的坑
  12. 你踩过dataguard的哪些坑?
  13. Node.js系列——(4)优势及场景
  14. Instruments Leak
  15. 2021年中国电梯行业现状及主要企业产销情况分析[图]
  16. [VCS]Coverage Options Introduction
  17. win10 ubuntu16.04双系统
  18. 计算机一级考试的时候用计算器,在WPS文字里设置计算器功能
  19. 全国电子设计大赛 物品清单分析2013年
  20. Java:反射机制学习

热门文章

  1. java xfire_XFire完整入门教程
  2. 摄影师眼中的明基PD2710QC
  3. ADI Blackfin DSP处理器-BF533的开发详解70:NES 红白机模拟器(含源码)
  4. 数字电路:奎因-麦克拉斯基算法
  5. 免费etl调度工具Taskctl-Web应用版功能框架及特性
  6. 日常办公计算机,适合办公的笔记本电脑排名 适合日常办公上班族的笔记本
  7. 【编解码】从零开始写H264解码器(7) SEI解析
  8. 2023全球智博会奏响AI产业发展的四重共振
  9. oracle数据库怎用,oracle数据库怎么打开
  10. 安卓数据包游戏常见问题及解决办法