|
分享源码
界面截图: |
- |
是否带模块: |
- |
备注说明: |
- |
https://bbs.125.la/forum.php?mod=viewthread&tid=14372461&page=1&ordertype=1#pid16032895之前发的老板键的BUG算是彻底解决了。
https://bbs.125.la/forum.php?mod=viewthread&tid=14373025&extra=
这是没弄好发的问题。彗星是背景一个窗口,中间用户区一个窗口画的。所以取了2个。QQ的TXGuiFoundation库封装的DirectUI 进行GetParent (hwnd) = 0判断后就获取不到。所以加了好长一截判断。
这是取出来的窗口,取出来的项目和任务管理器一致,任务管理器取不到的某些特殊程序这个也可以获取到,不知道有没有其他BUG。易语言的取窗口列表 是判断可视返回。会有重的。空名的。去掉又需要循环。
|
枚举窗口 | 整数型 | | |
接收数组 | 窗口信息 | | | | 可视窗口 | 逻辑型 | | | | 排除空标题窗口 | 逻辑型 | | | | 屏蔽系统窗口 | 逻辑型 | | | | 只取父窗口 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 传参 | 整数型 | | | x | 整数型 | | | 局父句柄 | 整数型 | | | y | 整数型 | | | 清除数组 (集_窗口列表 )传参 = 0 如果真 (是否为空 (可视窗口 )) 可视窗口 = 真 如果真 (是否为空 (排除空标题窗口 )) 排除空标题窗口 = 真 如果真 (是否为空 (屏蔽系统窗口 )) 屏蔽系统窗口 = 真 如果真 (是否为空 (只取父窗口 )) 只取父窗口 = 真 如果真 (可视窗口 )传参 = 传参 + 1 如果真 (排除空标题窗口 )传参 = 传参 + 2 如果真 (屏蔽系统窗口 )传参 = 传参 + 4 EnumWindows (&枚举过程, 传参)如果真 (只取父窗口 )计次循环首 (取数组成员数 (集_窗口列表 ), x )变量循环首 (取数组成员数 (集_窗口列表 ), x + 1, -1, y )如果真 (GetParent (集_窗口列表 [x ].窗口句柄 ) = 集_窗口列表 [y ].窗口句柄 ) 删除成员 (集_窗口列表, x, )变量循环尾 ()计次循环尾 ()接收数组 = 集_窗口列表返回 (取数组成员数 (集_窗口列表 )) 变量名 | 类 型 | 静态 | 数组 | 备 注 | 局窗口信息 | 窗口信息 | | | 局窗口相关 | WINDOWINFO | | | 局父句柄 | 整数型 | | | x | 整数型 | | | y | 整数型 | | |
局窗口信息.窗口句柄 = hwnd 局窗口信息.窗口标题 = 取窗口标题 (hwnd )局窗口信息.窗口类名 = 取窗口类名 (hwnd )如果 (lParam = 0 )加入成员 (集_窗口列表, 局窗口信息 )GetWindowInfo (hwnd, 局窗口相关 )如果真 (位与 (lParam, 1 ) > 0 ) 如果真 (位与 (局窗口相关.窗口样式, #WS_VISIBLE ) < 1 ) 返回 (1 )如果真 (位与 (lParam, 2 ) > 0 ) 如果真 (局窗口信息.窗口标题 = “”)返回 (1 )如果真 (位与 (lParam, 4 ) > 0 )如果真 (局窗口信息.窗口标题 = “Program Manager” 或 取窗口类名 (GetParent (hwnd )) = “Shell_TrayWnd”) 返回 (1 )加入成员 (集_窗口列表, 局窗口信息)返回 (1)
取窗口列表.e
(8.11 KB, 下载次数: 230)
|
评分
-
查看全部评分
|