EtpBotEtpBot
首页
  • EtpBot自动化文档
  • EtpBot安卓投屏文档
  • DLL自动化文档
  • DLL安卓投屏文档
  • ADB工具使用教程与模块封装
  • 自动化模块使用教程
  • 安卓投屏模块使用教程
  • EtpBot开发助手使用教程
  • 评论引流脚本实战开发教程
  • 投屏系统V1源码
  • 投屏系统V2源码
  • 投屏便捷版源码
  • 易吃鸡源码
下载安装
联系我们
首页
  • EtpBot自动化文档
  • EtpBot安卓投屏文档
  • DLL自动化文档
  • DLL安卓投屏文档
  • ADB工具使用教程与模块封装
  • 自动化模块使用教程
  • 安卓投屏模块使用教程
  • EtpBot开发助手使用教程
  • 评论引流脚本实战开发教程
  • 投屏系统V1源码
  • 投屏系统V2源码
  • 投屏便捷版源码
  • 易吃鸡源码
下载安装
联系我们
  • 首页
  • 介绍
  • 下载安装
  • 模块文档

    • EtpBot

      • 基础命令
      • 按键操作
      • 模拟操作
      • 节点操作
      • 图片颜色
      • Ocr识字
      • 系统管理
      • 应用管理
      • 屏幕操作
      • 文件目录
      • 输入法管理
      • 进程管理
      • 网络应用
    • 安卓投屏类
  • DLL文档

    • EtpBot

      • 基础命令
      • 按键操作
      • 模拟操作
      • 节点操作
      • 图片颜色
      • Ocr识字
      • 系统管理
      • 应用管理
      • 屏幕操作
      • 文件目录
      • 输入法管理
      • 进程管理
      • 网络应用
    • 安卓投屏类
    • Android键码表
  • 常见问题
  • 更新日志
  • 视频教程

    • ADB工具使用教程与模块封装

      • 1、介绍与调用方法
      • 2、连接安卓设备几种方式
      • 3、易语言调用ADB连接设备
      • 4、常用命令(一)查看设备信息
      • 5、常用命令(二)模拟按键输入
      • 6、常用命令(三)手机应用管理
      • 7、常用命令(四)文件目录管理
      • 8、常用命令(五)屏幕数据与控件
      • 9、连接多设备操作方法
      • 10、一键转WIFI无线连接
      • 11、模块封装与调用
      • 12、多线程批量操作设备
      • 13、监控手机设备拔插状态
    • EtpBot自动化模块使用教程

      • 1、激活与连接设备
      • 2、手机模拟按键操作
      • 3、手机模拟触摸操作
      • 4、Ocr识字与找字
      • 5、图色开发-找色与多点找色
      • 6、图色开发-找图与多图查找
      • 7、节点操作-查找节点
      • 8、节点操作-查找子、父、兄节点
      • 9、节点操作-节点模拟操作
      • 10、系统管理-取信息与修改设备
      • 11、应用管理-启动关闭卸载
      • 12、文件管理-文件创建删除与修改
    • EtpBot安卓投屏模块使用教程

      • 1、服务创建与初始化
      • 2、视频渲染与镜像渲染
      • 3、360°旋转投屏
      • 4、鼠标模拟操作与按键
      • 5、使用电脑键盘输入文字
      • 6、复制粘贴同步剪辑版
      • 7、更新分辨率、比特率、帧率
      • 8、画板重画
    • EtpBot开发助手使用教程
    • 评论引流脚本实战开发教程
  • 示例源码

    • 投屏系统V1源码
    • 投屏系统V2源码
    • 投屏便捷版源码
    • 易吃鸡源码

创建投屏服务

子程序名返回值备注
E_创建投屏服务逻辑型
示例
.如果 (E_创建投屏服务())
    调试输出 ("创建成功")
.否则
    调试输出 ("创建失败")
.如果结束

提示

全局命令,请勿重复操作此命令。不使用时,务必要销毁释放资源。


销毁投屏服务

子程序名返回值备注
E_销毁投屏服务释放资源占用

提示

销毁释放占用资源,所有操作都将无法使用。推荐在软件关闭时使用此命令


投屏初始化

子程序名返回值备注
投屏初始化逻辑型初始化投屏服务
参数名类型
设备标识文本型手机设备标识符 ADB命令获取
示例
.如果 ( 安卓投屏类.投屏初始化("emulator-5554") )
    调试输出 ( "初始化成功" )
.否则
    调试输出 ("初始化失败" + " " + "错误描述:" + 安卓投屏类.取错误描述())
.如果结束

提示

“初始化失败” 可通过模块命令 " 安卓投屏类.取错误描述() " 查看失败原因

注意

投屏初始化基于ADB操作,必须保证ADB已启动,且正常连接设备!


启动投屏

子程序名返回值备注
启动投屏逻辑型需先初始化,在启动投屏
参数名类型
分辨率整数型例 640 720 1080 1280 1920 0原始比例
比特率整数型1-100 越高越清晰
帧数整数型帧/秒 推荐10-30帧
  • 分辨率 -- 不能低于320 可使用常量(#屏幕分辨率_720)
  • 比特率 --可使用常量(#屏幕比特_2000000)
  • 帧数 --可使用常量(#屏幕帧率_30)
示例
.如果 ( 安卓投屏类.启动投屏 ( #屏幕分辨率_720, #屏幕比特_2000000, #屏幕帧率_快速))
    调试输出 ("启动投屏成功")
.否则
    调试输出 ("启动投屏失败", "错误描述:" + 安卓投屏类.取错误描述() )
.如果结束

注意

分辨率、比特率、帧数参数数值越高,暂用资源越大,要求电脑配置越高。请谨慎设置。


暂停投屏

子程序名返回值备注
暂停投屏
参数名类型
暂停逻辑型真:暂停投屏 假:开启投屏
示例
安卓投屏类.暂停投屏(真) 

提示

根据需求暂停投屏,可降低资源占用


停止投屏

子程序名返回值备注
停止投屏断开手机一切连接
示例
 安卓投屏类.停止投屏() 

注意

需要时间处理线程,需给予充足时间


关闭副屏幕

子程序名返回值备注
关闭副屏幕关闭副屏幕,主屏幕渲染恢复正常
示例
安卓投屏类.关闭副屏幕() 

置渲染ID

子程序名返回值备注
置渲染ID设置渲染ID
参数名类型
渲染ID整数型单台设备可不用设置,默认渲染ID为0
示例
安卓投屏类.置渲染ID(1)

提示

渲染ID作用于投屏操作多台设备,分配每台设备序号,异常断开回调根据序号处理断开事件。


置断开回调

子程序名返回值备注
置断开回调手机设备异常断开通知 需设置渲染ID
参数名类型
回调地址整数型
  • 回调程序
    • 参数一: 渲染id {整数型} -- 与置渲染ID相对应
    • 参数二: 错误信息 {文本型} -- 断开错误信息
示例
安卓投屏类.置断开回调( 到整数(&断开回调) )

置附加参数

子程序名返回值备注
置附加参数备注信息
参数名类型
参数一整数型
示例
安卓投屏类.置附加参数(10)

//如果设置文本型可用模块里的命令
安卓投屏类.置附加参数(E_内存_写内存文本("附加参数"))

置主屏幕场景

子程序名返回值备注
置主屏幕场景逻辑型设置主渲染场景
参数名类型
场景句柄整数型组件句柄
组件宽整数型渲染组件宽
组件高整数型渲染组件高
组件方向整数型HOME键方向
是否缩放逻辑型根据实际渲染组件高宽进行缩放,
  • 组件方向 -- 可使用常量(#屏幕方向_Home下方)
  • 是否缩放 -- 缩放可减轻渲染压力
示例
 .如果 ( 安卓投屏类.置主屏幕场景 (取窗口句柄(), 画板1.宽度, 画板1.高度, #屏幕方向_Home下方,真))
     调试输出 ("设置主屏幕成功")
 .否则
     调试输出 ("设置主屏幕失败","错误描述:" + 安卓投屏类.取错误描述())
 .如果结束

提示

屏幕可360°旋转,旋转方向由下向左旋转,0 90 180 270 360(0),HOME键为准!


置副屏幕场景

子程序名返回值备注
置副屏幕场景逻辑型设置副渲染场景
参数名类型
场景句柄整数型组件句柄
组件宽整数型组件宽度
组件高整数型组件高度
组件方向整数型HOME键方向
是否缩放逻辑型根据实际渲染组件高宽进行缩放
是否同步逻辑型主副屏幕是否同步
竖屏图片字节集如果不同步,可设置主屏幕显示图片
横屏图片字节集如果不同步,可设置主屏幕显示图片
  • 组件方向 --可使用常量(#屏幕方向_Home下方)
  • 是否缩放 --缩放可减轻渲染压力
示例
 .如果 ( 安卓投屏类.置副屏幕场景 (取窗口句柄(), 画板1.宽度, 画板1.高度, #屏幕方向_Home下方,假,真,,))
     调试输出 ("设置副屏幕成功")
 .否则
     调试输出 ("设置副屏幕失败","错误描述:" + 安卓投屏类.取错误描述())
 .如果结束

提示

如设置同步,图片设置无效。
设置不同步,可自定义展示图片,也可留空使用默认图片。


坐标计算

子程序名返回值备注
坐标计算组件坐标转手机实际坐标
参数名类型
横向位置整数型
纵向位置整数型
组件宽整数型
组件高整数型
组件方向整数型HOME键方向
  • 组件方向 --可使用常量(#屏幕方向_Home下方)
示例
//如果需要发送手机屏幕实际坐标,组件宽高填写手机分辨率

坐标 =  安卓投屏类.坐标计算(横向位置, 纵向位置, 画板1.宽度, 画板1.高度, #屏幕方向_Home下)

安卓投屏类.模拟按下 (0, 坐标.x, 坐标.y)
安卓投屏类.模拟放开 (0, 坐标.x, 坐标.y)

提示

组件方向并非手机HOME键实际方向。 而是组件渲染显示方向

例:手机HOME键向下竖屏,你希望渲染时HOME键向左 90° 横向显示。 那么需要填写:#屏幕方向_Home左方 ,根据显示方向,计算出实际坐标


模拟按下

子程序名返回值备注
模拟按下模拟手指按下动作
参数名类型
id整数型多指操作使用,如不使用多指操作,可填写 0
坐标x整数型
坐标y整数型
示例
//如果需要发送手机屏幕实际坐标,组件宽高填写手机分辨率
G_按下=真 

坐标 =  安卓投屏类.坐标计算 (横向位置, 纵向位置, 画板1.宽度, 画板1.高度, #屏幕方向_Home下)

安卓投屏类.模拟按下 (0, 坐标.x, 坐标.y)

提示

滑动屏幕正常操作应该是:先按下,在滑动。 所以这里赋值一个变量 "G_按下"给模拟移动做判断


模拟放开

子程序名返回值备注
模拟放开模拟手指放开动作
参数名类型
id整数型多指操作使用,如不使用多指操作,可填写 0
坐标x整数型
坐标y整数型
示例
G_按下=假

坐标 =  安卓投屏类.坐标计算 (横向位置, 纵向位置, 画板1.宽度, 画板1.高度, #屏幕方向_Home下)

安卓投屏类.模拟放开 (0, 坐标.x, 坐标.y)

提示

按键放开则无法滑动,所以这里赋值一个变量 "G_按下=假"给模拟移动做判断


模拟移动

子程序名返回值备注
模拟移动模拟手指移动动作
参数名类型
id整数型多指操作使用,如不使用多指操作,可填写 0
坐标x整数型
坐标y整数型
示例
G_滚动起始坐标 = E_坐标 (x,y)

.如果真(G_按下)
	坐标 =  安卓投屏类.坐标计算 (横向位置, 纵向位置, 画板1.宽度, 画板1.高度, #屏幕方向_Home下)
	安卓投屏类.模拟移动 (0, 坐标.x, 坐标.y)
.如果真结束

注意

易语言组件滚动事件没有坐标参数,所以这里记录鼠标移动位置,作为滚动事件的起始坐标
滑动手机屏幕正常操作,按下-》滑动-》放开, 所以需判断是否按下。


模拟滚动

子程序名返回值备注
模拟滚动模拟手指上下滚动动作
参数名类型
起始坐标x整数型
起始坐标y整数型
滚动距离整数型滚动距离
示例
//判断一下起始滚动起始坐标是否大于0
 
.如果真 (G_滚动起始坐标.X > 0 且 G_滚动起始坐标.Y > 0)
	坐标 =  安卓投屏类.坐标计算 (G_滚动起始坐标.X, G_滚动起始坐标.Y, 画板1.宽度, 画板1.高度, #屏幕方向_Home下)
    安卓投屏类.模拟滚动 (坐标.X, 坐标.Y, 滚动距离)
.如果真结束

按键按下

子程序名返回值备注
按键按下模拟键盘按下某键
参数名类型
键码整数型keyCode
功能键整数型Ctrl、Shift、Alt
大小写状态逻辑型键盘大小写锁状态
  • 键码 --组件按下某键事件--参数"键码"
  • 功能键 --组件按下某键事件--参数"功能键状态"
  • 大小写状态 --可用模块里的“E_系统_大小写锁 ()”获取.
示例
//判断是否按下了 CapsLock大小写按键,如果启动程序时大小写状态为真,这时按下大小写键为假。

.如果真 (键代码 = #CapsLock键)
    .如果 (大小写锁)
        大小写锁 = 假
    .否则
        大小写锁 = 真
    .如果结束

.如果真结束

.如果真 (功能键状态 = #Ctrl键状态 且 键代码 = #V键) // “粘贴命令放在按下事件里”
    安卓投屏类.粘贴数据 (取剪辑板文本 ())
.如果真结束

安卓投屏类.按键按下 (键代码, 功能键, 大小写锁)

提示

启动程序时,可调用模块里的命令获取当前大小写锁状态。 大小写锁 = E_系统_大小写锁 ()
内部会通过Keycode键码转换为安卓 Android Keycode。


按键放开

子程序名返回值备注
按键放开模拟键盘放开某键
参数名类型
键码整数型keyCode
功能键整数型Ctrl、Shift、Alt
大小写状态逻辑型键盘大小写锁状态
  • 键码 --组件放开某键事件--参数键码
  • 功能键 --组件放开某键事件--参数功能键状态
  • 大小写状态 --可用模块里的“E_系统_大小写锁 ()”获取.
示例
//大小写锁:在按键按下时 已赋值真假状态。所以这里不用判断或获取、赋值
安卓投屏类.按键放开 (键代码, 功能键, 大小写锁)

提示

在启动程序时已获取过一次大小写锁状态,无需重复获取。


发送命令

子程序名返回值备注
发送命令发送手机功能命令
参数名类型
命令整数型可在模块常量查询手机命令 #安卓_
动作整数型0为按下弹起 1为按下 2为弹起
示例
安卓投屏类.发送命令 (#安卓_按键Home, 0)

提示

可在模块常量查询命令:例如 安卓_按键Home 安卓_返回键 安卓_菜单键 安卓_电源键等等


粘贴数据

子程序名返回值备注
粘贴数据电脑剪辑板文本粘贴至手机
参数名类型
数据文本型支持中英文
示例
.如果真 (功能键状态 = #Ctrl键状态 且 键代码 = #V键)
    安卓投屏类.粘贴数据 (取剪辑板文本 ())
.如果真结束

安卓投屏类.按键按下 (键代码, 功能键, m_大小写锁)

推荐

粘贴命令放在按下事件里


屏幕息屏

子程序名返回值备注
屏幕息屏手机屏幕休眠,投屏不休眠
示例
安卓投屏类.屏幕息屏()

屏幕唤醒

子程序名返回值备注
屏幕唤醒手机屏幕唤醒
示例
安卓投屏类.屏幕唤醒()

下拉通知栏

子程序名返回值备注
下拉通知栏屏幕顶部通知信息
示例
安卓投屏类.下拉通知栏()

下拉设置栏

子程序名返回值备注
下拉设置栏屏幕顶部设置栏
示例
安卓投屏类.下拉设置栏()

旋转屏幕

子程序名返回值备注
旋转屏幕改变屏幕状态 部分手机不支持
示例
安卓投屏类.旋转屏幕()

更新比特率

子程序名返回值备注
更新比特率逻辑型设置更新比特率
参数名类型
比特率整数型1-100 越高越清晰
  • 比特率 --- 可用常量( #屏幕比特_200000)
示例
.如果 ( 安卓投屏类.更新比特率 (#屏幕比特_2000000))
    调试输出 (“更新成功”)
.否则
    调试输出 (“更新失败”)
.如果结束

注意

更新需要时间,请给予充足时间等待
模块并没有使用处理事件,不推荐在主线程下使用,防止卡顿。


更新分辨率

子程序名返回值备注
更新分辨率逻辑型置更新画面分辨率
参数名类型
分辨率整数型例 640 720 1080 1280 1920 0原始比例
  • 分辨率 --- 不能低于320 , 可用常量( #屏幕分辨率_720)
示例
.如果 ( 安卓投屏类.更新分辨率(#屏幕分辨率_720))
    调试输出 (“更新成功”)
.否则
    调试输出 (“更新失败”)
.如果结束

注意

更新需要时间,请给予充足时间等待
模块并没有使用处理事件,不推荐在主线程下使用,防止卡顿。


更新帧数

子程序名返回值备注
更新帧数逻辑型设置更新帧数
参数名类型
帧数整数型帧/秒 推荐10-30帧
  • 帧数 --- 最大60 , 可用常量( #屏幕帧率_快速)
示例
.如果 ( 安卓投屏类.更新帧数 (#屏幕帧率_快速) )
    调试输出 (“更新成功”)
.否则
    调试输出 (“更新失败”)
.如果结束

注意

更新需要时间,请给予充足时间等待
模块并没有使用处理事件,不推荐在主线程下使用,防止卡顿。


更新画面配置

子程序名返回值备注
更新画面配置逻辑型设置更新画面质量
参数名类型
分辨率整数型例 640 720 1080 1280 1920 0=原始分辨率
比特率整数型1-100 越高越清晰
帧数整数型帧/秒 推荐10-30帧 最大60
  • 分辨率 -- 不能低于320 , 可用常量( #屏幕分辨率_720)
  • 比特率 -- 可用常量( #屏幕比特_2000000)
  • 帧数 -- 最大60 , 可用常量( #屏幕帧率_快速)
示例
安卓投屏类.更新画面配置(#屏幕分辨率_720,#屏幕比特_2000000,#屏幕帧率_快速)

注意

更新需要时间,请给予充足时间等待
模块并没有使用处理事件,不推荐在主线程下使用,防止卡顿。


更新主屏幕尺寸

子程序名返回值备注
更新主屏幕尺寸
参数名类型
组件宽整数型新宽度
组件高整数型新高度
组件方向整数型HOME键方向
  • 组件方向 ---可用常量 ( #屏幕方向_Home下方)
示例
安卓投屏类.更新主屏幕尺寸( 画板1.宽度, 画板1.高度, #屏幕方向_Home下方)

注意

组件尺寸有变化,及时更新尺寸,防止渲染出错。
模块并没有使用处理事件,不推荐在主线程下使用,防止卡顿。


更新副屏幕尺寸

子程序名返回值备注
更新副屏幕尺寸
参数名类型
组件宽整数型新宽度
组件高整数型新高度
组件方向整数型HOME键方向
  • 组件方向 ---可用常量 ( #屏幕方向_Home下方)
示例
安卓投屏类.更新副屏幕尺寸( 宽度, 高度, #屏幕方向_Home下方)

注意

组件尺寸有变化,及时更新尺寸,防止渲染出错。
模块并没有使用处理事件,不推荐在主线程下使用,防止卡顿。


保存图片

子程序名返回值备注
保存图片逻辑型手机截屏保存
参数名类型
路径文本型图片保存路径,尽量不要有中文和空格
格式整数型0 - PNG 1 - BMP
质量整数型1-100 越高越清晰 图片越大
示例
安卓投屏类.截取屏幕 (“D:\11.png”,0,60)

取帧图片数据

子程序名返回值备注
取帧图片数据字节集获取屏幕图片数据
参数名类型
格式整数型0=PNG 1=BMP
  • 解码器取出一帧H264数据 ,不支持多线程取图
示例
图片框1.图片 = 安卓投屏类.取帧图片数据(0)

注意

获取失败返回{}空字节


取渲染图片数据

子程序名返回值备注
取渲染图片数据字节集获取屏幕图片数据,
参数名类型
格式整数型0 - PNG 1 - JPG 2 - BMP
  • 渲染器取出一帧数据 , 支持多线程取图
示例
图片框1.图片 = 安卓投屏类.取渲染图片数据 (0)

注意

获取失败返回{}空字节


取帧宽高

子程序名返回值备注
取帧宽高逻辑型解码器取出一帧H264数据的宽高
参数名类型
宽度整数型参考值
高度整数型参考值
示例
安卓投屏类.取帧宽高 (_宽度,_高度)
调试输出(_宽度,_高度)

取渲染宽高

子程序名返回值备注
取渲染宽高逻辑型渲染器取出一帧宽高
参数名类型
宽度整数型
高度整数型
示例
安卓投屏类.取渲染宽高 (_宽度,_高度)
调试输出(_宽度,_高度)

取屏幕方向

子程序名返回值备注
取屏幕方向整数型成功返回方向 1=竖 2=横 错误返回 -1
示例
_方向 = 安卓投屏类.取屏幕方向 ()

.判断开始 (_方向 = #屏幕状态_竖屏)
    调试输出 (“竖屏”)
.判断 (_方向 = #屏幕状态_横屏)
    调试输出 (“横屏”)
.默认

.判断结束

取渲染ID

子程序名返回值备注
取渲染ID整数型成功返回数据 错误返回 -1
示例
局_渲染ID =  安卓投屏类.取渲染ID()

取附加参数

子程序名返回值备注
取附加参数整数型成功返回数据 错误返回 -1
示例
 局_附加参数整数型 = 安卓投屏类.取附加参数()

//如果是文本型附加参数 可通过模块命令获取
 局_附加参数文本型 = E_内存_读内存文本( 安卓投屏类.取附加参数())

取错误描述

子程序名返回值备注
取错误描述文本型成功返回数据 错误返回 " "
示例
调试输出("错误描述:"+ 安卓投屏类.取错误描述())

提示

如果命令执行失败,可通过此命令查看错误描述

同步剪辑版

子程序名返回值备注
同步剪辑版自动同步手机剪辑版文本内容到电脑剪辑版
参数名类型
是否同步逻辑型默认不同步
示例
安卓投屏类.同步剪辑版(真)

重画

子程序名返回值备注
重画投屏数据重画
示例
安卓投屏类.重画()

提示

推荐窗口 WM_PAINT消息 重画