- 按键认证导师
- 374328
- 1574
- 41
- 3773 朵
- 4153 个
- 1093 个
- 104560
- 2010-03-19
|
1#
t
t
发表于 2022-05-15 11:41
|
|
江中游电脑版按键论坛教学总录:http://bbs.anjian.com/showtopic-697741-1.aspx 江中游安卓手机系统教学总录: http://bbs.anjian.com/showtopic-699643-1.aspx 江中游异次元 未来的夏娃 第10课 adb鼠标操作 鼠标操作有:均为免root操作 点击 滑动 长按 一、鼠标点击操作 adb鼠标操作原型命令为: adbini文件书写建议: 按键代码要求: adb点击大家主要注意xy坐标之间要有空格,否则点击不会成功,按键代码如下: - dim adb,设备数组,包类数组
- adb = "c:\adb\adb.exe "
- adbs = "c:\adb\adb.exe -s "
- adbcmd = "c:\adb\adb.ini"
- call 启动服务()
- 设备数组 = 获取设备id群()
- traceprint 设备数组(0)
- call 鼠标点击(设备数组(0), 444,915)
- function 鼠标点击(设备id, x, y)'免root,mode为0时代表覆盖,为1时代表追加
- dim 命令, adbret
- 命令 = plugin.file.readini("adb", "鼠标点击", adbcmd)'读取保存在ini文件中的命令
- adbret = plugin.jzycommand.command(adbs & 设备id & 命令 & x & " " & y, 1000)'使用我的插件来获取连接的设备
- traceprint plugin.jzycommand.u8toan(adbret)
- end function
- function 启动服务
- dim 命令,adbret
- 命令 =plugin.file.readini("adb", "启动服务", adbcmd)'读取保存在ini文件中的命令
- traceprint 命令
- adbret = plugin.jzycommand.command(adb & 命令, 1000)'使用我的插件来获取连接的设备
- end function
- function 获取设备id群()
- dim 获取设备, 转化数组, ii, 命令, adbret
- 命令 = plugin.file.readini("adb", "获取设备", adbcmd)'读取保存在ini文件中的命令
- adbret = plugin.jzycommand.command(adb & 命令, 1000)'使用我的插件来获取连接的设备
- traceprint adbret
- 'adbret返回结果如有连接则是:list of devices attached|000002f52fbb092edevice|emulator-5554device|emulator-5556device|11904|,list of devices attached无论是否获取到也是必须出现的字符,但是当adb服务没有启动,这串字符就不会出现了所以我们要用如果来判断一下
- if instr(1, adbret, "list of devices attached") >= 1 then
- adbret = replace(adbret, "list of devices attached|", "")'过滤一下注意最后要有一个中隔线
- 转化数组 = split(adbret, "|")'在dos中的每一行我这里使用中隔线"|"代表
- 设备id = array()'按键的bug,重新定义数组不要加dim
- redim 设备id(ubound(转化数组))'按键的bug,重新定义数组不要加dim
- for i = 0 to ubound(转化数组)
- if right(转化数组(i), 6) = "device" then '这一行中如有device字符代表是已经连接的设备
- 设备id(ii) = replace(转化数组(i), "device", "")'过滤一下
- ii = ii 1
- end if
- next
- else
- 获取设备id群=array()
- end if
- 获取设备id群 = 设备id
- end function
复制代码鼠标滑动: 鼠标滑动命令也非常简单,adb原型命令为: adbini文本记录建议: 按键代码建议:本命令看似简单,但参数多,一共有5个,即起点坐标及终点坐标,然后还有一个为延时,此延时为毫秒级 - dim adb,设备数组,包类数组
- adb = "c:\adb\adb.exe "
- adbs = "c:\adb\adb.exe -s "
- adbcmd = "c:\adb\adb.ini"
- call 启动服务()
- 设备数组 = 获取设备id群()
- traceprint 设备数组(0)
- call 鼠标拖动(设备数组(0), 312,2359, 312,500,5000)
- function 鼠标拖动(设备id, x1, y1, x2, y2, times)'免root,mode为0时代表覆盖,为1时代表追加
- dim 命令, adbret
- 命令 = plugin.file.readini("adb", "鼠标拖动", adbcmd)'读取保存在ini文件中的命令
- traceprint adbs & 设备id & 命令 & x1 & " " & y1 & " " & x2 & " " & y2 & " " & times
- adbret = plugin.jzycommand.command(adbs & 设备id & 命令 & x1 & " " & y1 & " " & x2 & " " & y2 & " " & times, 1000)'使用我的插件来获取连接的设备
- traceprint plugin.jzycommand.u8toan(adbret)
- end function
- function 启动服务
- dim 命令,adbret
- 命令 =plugin.file.readini("adb", "启动服务", adbcmd)'读取保存在ini文件中的命令
- traceprint 命令
- adbret = plugin.jzycommand.command(adb & 命令, 1000)'使用我的插件来获取连接的设备
- end function
- function 获取设备id群()
- dim 获取设备, 转化数组, ii, 命令, adbret
- 命令 = plugin.file.readini("adb", "获取设备", adbcmd)'读取保存在ini文件中的命令
- adbret = plugin.jzycommand.command(adb & 命令, 1000)'使用我的插件来获取连接的设备
- traceprint adbret
- 'adbret返回结果如有连接则是:list of devices attached|000002f52fbb092edevice|emulator-5554device|emulator-5556device|11904|,list of devices attached无论是否获取到也是必须出现的字符,但是当adb服务没有启动,这串字符就不会出现了所以我们要用如果来判断一下
- if instr(1, adbret, "list of devices attached") >= 1 then
- adbret = replace(adbret, "list of devices attached|", "")'过滤一下注意最后要有一个中隔线
- 转化数组 = split(adbret, "|")'在dos中的每一行我这里使用中隔线"|"代表
- 设备id = array()'按键的bug,重新定义数组不要加dim
- redim 设备id(ubound(转化数组))'按键的bug,重新定义数组不要加dim
- for i = 0 to ubound(转化数组)
- if right(转化数组(i), 6) = "device" then '这一行中如有device字符代表是已经连接的设备
- 设备id(ii) = replace(转化数组(i), "device", "")'过滤一下
- ii = ii 1
- end if
- next
- else
- 获取设备id群=array()
- end if
- 获取设备id群 = 设备id
- end function
复制代码 三、鼠标长按:其实,鼠标长按就是鼠标拖动的命令,为什么呢?拖动是针对两个点操作的,但如果把这两个点坐标都改成为一个点就是针对一个点的坐标操作了,然后我们把后面的延时加大,比如3000毫秒,即可实现鼠标长按的效果了,,当然你可以把拖动的函数改成长按即可,我给大家修改如下 :- call 鼠标长按(设备数组(0), 312, 1359, 5000)
- function 鼠标长按(设备id, x, y, times)'免root
- dim 命令, adbret
- 命令 = plugin.file.readini("adb", "鼠标拖动", adbcmd)'读取保存在ini文件中的命令
- traceprint adbs & 设备id & 命令 & x1 & " " & y1 & " " & x2 & " " & y2 & " " & times
- adbret = plugin.jzycommand.command(adbs & 设备id & 命令 & x & " " & y & " " & x & " " & y & " " & times, 1000)'使用我的插件来获取连接的设备
- traceprint plugin.jzycommand.u8toan(adbret)
- end function
复制代码 adb下载:、
|