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

FindWindowEx 遍历所有窗口

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);
}

 

http://www.lryc.cn/news/2419676.html

相关文章:

  • AV1编码各种浏览的版本支持
  • 网安概论(三)
  • 85m gamer主板acpi驱动_关于网卡驱动的问题
  • Python实现经典吃豆豆游戏教程:重温童年经典,学习Python游戏开发,附带完整源码
  • Android使用bit.ly的api获取url 短连接
  • 转贴--理解LPCTSTR
  • 什么是UBB
  • 机器学习----决策树分析
  • IDEA官网进不去解决方法
  • 智能终端安全:应用安全技术—移动互联网信息安全解决方案(上)
  • java cloneable 深拷贝_Java中的Cloneable接口与深拷贝、浅拷贝
  • 版本控制系统
  • POSTFIX邮件系统搭建
  • 获取北京标准时间
  • X86和X64的区别
  • tex中enumitem 宏包对itemize环境的调整
  • 内存学习(二):物理地址空间虚拟地址空间布局
  • Android ContentResolver的使用
  • Android 简单定位----Google Location Service的使用
  • Matlab中function函数的使用
  • 文件操作函数(C语言)!
  • tinyxml在linux和windows下的编译及使用详解
  • PowerManager简介
  • Flutter Ink,InkWell,InkResponse水波纹实现(2.3)
  • fiddler4使用方法以及相关抓包分析
  • 【同花顺函数汇总】
  • Parse error: syntax error, unexpected ''解决办法
  • 软件设计文档如何编写,设计文档内容都包括什么
  • Tribon二次开发-逆向
  • Oracle GoldenGate(OGG)- 超级详细,五步搞定Golang开发环境部署