|
本帖最后由 微凉 于 2013-1-26 18:29 编辑
以下为问题代码
[e]
.版本 2
.计次循环首 (窗口_枚举 (精易_窗口信息), i)
窗口_枚举所有子窗口 (精易_窗口信息 .窗口句柄, 临时_浏览器句柄, “Internet Explorer_Server”)
.计次循环首 (取数组成员数 (临时_浏览器句柄), j)
加入成员 (浏览器句柄, 临时_浏览器句柄 [j])
.计次循环尾 ()
.计次循环尾 ()
以上是精易模块的坑爹枚举代码.无法枚举出 隐藏窗口的句柄,把他无视掉吧....留此纪念
[/e]
以下为完善好的代码
调用方式 枚举_hWnd_子窗口 (数组变量用于接受句柄, “Internet Explorer_Server”) ' 一句话搞定
[e]
.版本 2
.程序集变量 lpef, 整数型, , "0"
.程序集变量 句柄数组变量, 整数型, , "0"
.子程序 枚举_hWnd, , 公开
.参数 句柄数组, 整数型, 参考 数组, 欲寻找类名和欲寻找类名为空则返回全部,否则返回寻找到的
.参数 欲寻找类名, 文本型, 可空
.局部变量 hWnd, 整数型, , "0"
.局部变量 i, 整数型
清除数组 (句柄数组)
清除数组 (句柄数组变量)
EnumWindows (&枚举_过程, 0)
.如果真 (是否为空 (欲寻找类名))
句柄数组 = 句柄数组变量
返回 ()
.如果真结束
.计次循环首 (取数组成员数 (句柄数组变量), i)
.如果真 (窗口_取类名 (句柄数组变量 ) = 欲寻找类名)
加入成员 (句柄数组, 句柄数组变量 )
.如果真结束
.计次循环尾 ()
.子程序 枚举_hWnd_子窗口, , 公开
.参数 句柄数组, 整数型, 参考 数组, 欲寻找类名和欲寻找类名为空则返回全部,否则返回寻找到的
.参数 欲寻找类名, 文本型
.局部变量 i, 整数型
.局部变量 子窗口数据, 整数型, , "0"
.局部变量 匹配成功, 整数型, , "0"
.局部变量 临时, 整数型, , "0"
枚举_hWnd (临时)
.计次循环首 (取数组成员数 (临时), i)
.计次循环首 (枚举_枚举一个父窗口的所有子窗口 (临时 , 子窗口数据), i)
.如果真 (窗口_取类名 (子窗口数据 ) = 欲寻找类名)
加入成员 (匹配成功, 子窗口数据 )
.如果真结束
.计次循环尾 ()
.计次循环尾 ()
句柄数组 = 匹配成功
.子程序 枚举_过程, 逻辑型
.参数 hWnd, 整数型
.如果真 (hWnd ≠ 0)
加入成员 (句柄数组变量, hWnd)
返回 (真)
.如果真结束
返回 (假)
.子程序 枚举_枚举一个父窗口的所有子窗口, 整数型, 公开, 枚举子窗口,返回枚举的数量
.参数 Fhwnd, 整数型, , 父句柄
.参数 存贮数组, 整数型, 参考 可空 数组
清除数组 (lpef)
清除数组 (存贮数组)
.如果真 (EnumChildWindows (Fhwnd, &枚举_枚举一个父窗口的所有子窗口_过程, 0) = 1)
存贮数组 = lpef
返回 (取数组成员数 (lpef))
.如果真结束
返回 (0)
.子程序 枚举_hWnd_过程, 逻辑型
.参数 hWnd, 整数型
.如果真 (hWnd ≠ 0)
加入成员 (句柄数组变量, hWnd)
返回 (真)
.如果真结束
返回 (假)
.子程序 枚举_枚举一个父窗口的所有子窗口_过程, 逻辑型, , ,
.参数 hwnd, 整数型
.如果真 (hwnd ≠ 0)
加入成员 (lpef, hwnd)
返回 (真)
.如果真结束
返回 (假)
[/e]
|
评分
-
查看全部评分
|