FindWindowEx 遍历所有窗口

FindWindowEx 遍历所有窗口 FindWindowEx 唯一麻烦是第2个参数的指定.Explore下窗口是Z序的 ,实际上就是根据第一个参数和第2个参数来找第2个参数后的一个窗口:HWNDchild=0;child=FindWindowEx (NULL,child,NULL,NULL);这样,child就是一个Explore,然后,通过循环能够找到c…

大家好,又见面了,我是你们的朋友全栈君。

 

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138044.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月1日 上午7:36
下一篇 2022年6月1日 上午7:36


相关推荐

  • 马尔科夫模型与隐马尔科夫模型

    马尔科夫模型与隐马尔科夫模型1 nbsp nbsp nbsp 马尔科夫模型 1 1 马尔可夫过程 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 马尔可夫过程 Markovproces 是一类随机过程 它的原始模型马尔可夫链 由俄国数学家 A A 马尔可夫于 1907 年提出 该过程具有如下特性 在已知目前状态 现在 的条件下 它未来的演变 将来 不依赖于它以往的演变 nbsp 过去 nbsp 例如森林中动物头数的变化构成 马尔可夫过程 在现实世界中 有很多过程都是马尔可夫过程 如液体中微粒所作的布

    2026年3月19日
    2
  • I/O多路复用方案

    1.本节思维导图2.基本的网络编程接口2.1基于TCP的通信模型2.2基于UDP的通信模型3.非阻塞的服务器程序file、pipe、fifo、socket在默认创建过程中都是阻塞的

    2021年12月28日
    54
  • ssh登录linux

    ssh登录linux2018-9-6上一篇提到用ssh登录centos好处很多,许多linux系统管理员都在用ssh。在windows下ssh客户端主要有puTTY、Xshell、secureCRT、sshsecureshell。linux下有openssh,这是个命令行工具。这篇主要将puTTY和Xshell的使用。puTTYpuTTY是开源免费软件。放恶意软件,建意到官网下载,或者百度、360、搜…

    2025年7月5日
    3
  • 让 OpenClaw 替你打工(三):我不止给它装了 30+ Skills 还创建了技能

    让 OpenClaw 替你打工(三):我不止给它装了 30+ Skills 还创建了技能

    2026年3月16日
    2
  • MFC 加载 EXCEL 并快速读取大量数据

    MFC 加载 EXCEL 并快速读取大量数据MFC 加载 EXCEL 库可以查看 http t csdn cn U8TJU 这里主要记录一下读取 EXCEL 数据的方式 方式一 遍历所有单元格 不适用于大数据量 CApplication CWorkbooksbo CWorkbookboo CWorksheetss CWorksheetsh CRangerange CRangeoCurCe LPDISPATCHlp COleVariantv

    2026年3月3日
    1
  • 摩斯密码(摩斯密码背诵口诀 小学生)

    突然对密斯密码很感兴趣,所以在网上找了一些有关的资料,供大家参考.呵呵,还是很有意思的. 1【侦探手册】摩斯密码介绍及应用                               摩斯密码表 A._           M__           Y_.__ B_…       N_.           Z__.. C_._. …

    2022年4月14日
    464

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号