TC官方合作论坛

 找回密码
 立即注册
查看: 1548|回复: 0

[问题] 来个大佬帮忙解答下

[复制链接]
发表于 2018-1-10 02:58:01 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本人新手一枚,看蓝丝雨的全民奇迹中控教程,这个获取窗口句柄这段代码在整个程序中获取子窗口句柄总是为空,把这段代码单独提取出来可以获取到子窗口句柄,而且 长度1 = 数组大小(父句柄) 全局变量 父句柄=数组()  在整个程序中根本没有被赋值,这样根本进入不了遍历。

//-------------获得窗口句柄------------//
功能 获得窗口句柄()
    变量 句柄集,子句柄集,长度,父句柄集,长度1
    遍历(变量 k = 0; k < 200; k++)
        //先得到父句柄 "256896,362547"  1个窗口 "256896"
        句柄集 = dm.EnumWindow(0,"雷电模拟器-","",1+4+8+16)
        //调试输出("[获得窗口句柄] 句柄集: " & 句柄集)
        如果(句柄集 != "")
            //现在我们需要知道是1个窗口还是多个窗口
            如果(字符串查找(句柄集,",") >= 0)
                //这里是说明有枚举到多个窗口
                长度 = 字符串分割(句柄集,",",父句柄集)
                长度1 = 数组大小(父句柄)
                遍历(变量 i = 0; i < 长度; i++) //最外围的循环是把所得到的父句柄都去过滤一遍
                    遍历(变量 j = 0; j < 长度1; j++)
                        如果(转整型(父句柄集[i]) != 父句柄[j])  //只要不相等就说明是最新的一个模拟器窗口的父句柄
                            数组追加元素(父句柄,转整型(父句柄集[i]))
                            //枚举子窗口
                            子句柄集 = dm.EnumWindow(转整型(父句柄集[i]),"TheRender","",1+8)
                            //调试输出("[获得窗口句柄] 当前子句柄: " & 子句柄集)
                            数组追加元素(子句柄,转整型(子句柄集))
                            返回 转整型(父句柄集[i])
                        结束
                    结束
                结束
            否则
                //只有1个窗口 句柄集就是父句柄
                数组追加元素(父句柄,转整型(句柄集))
                //枚举子窗口
                子句柄集 = dm.EnumWindow(转整型(句柄集),"TheRender","",1+8)
                调试输出("[获得窗口句柄] 当前子句柄: " & 子句柄集)
                数组追加元素(子句柄,转整型(子句柄集))
                返回 转整型(句柄集)
            结束
        结束
        等待(500)
    结束
结束



求个高手教教,解惑了有红包。


1

1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-28 15:49 , Processed in 0.038659 second(s), 26 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表