|
马上加入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
|