TC官方合作论坛

标题: 来个大佬帮忙解答下 [打印本页]

作者: xx168168    时间: 2018-1-10 02:58
标题: 来个大佬帮忙解答下
本人新手一枚,看蓝丝雨的全民奇迹中控教程,这个获取窗口句柄这段代码在整个程序中获取子窗口句柄总是为空,把这段代码单独提取出来可以获取到子窗口句柄,而且 长度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)
    结束
结束



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


999.png (53.81 KB, 下载次数: 3)

1

1





欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1