雷电模拟器中控实现,直通源码

2024-06-09 19:44

本文主要是介绍雷电模拟器中控实现,直通源码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言

开发

需求

初始环境

UI搭建

功能实现


前言

        本篇为易语言雷电模拟器中控项目实现操作,一般用于:脚本开发多线程模拟操作等起始模板框架,使用易语言原因为其前后端一体化,对于脚本开发而言更为方便。


开发

需求

        以下为雷电模拟器中控项目的需求:

  1. 一键启动、关闭所有模拟器以及单个模拟器的操作
  2. 前端界面展示所有模拟器信息,包含:模拟器名称、顶层句柄、绑定句柄

初始环境

        代码编写环境如下:易语言5.9加密狗版、精益模块、雷电模块、乐玩模块,接下来新建Windows窗口程序开始编写代码。


UI搭建

       现在进行简单的UI页面搭建,UI页面如下:

  • 超级列表框_窗口信息:展示序号、模拟器名称、顶层、绑定句柄、信息
  • 按钮_一键启动:点击按钮后启动编辑框_启动模拟器对应数量的模拟器,间隔时间为编辑框_启动模拟器间隔时间
  • 按钮_一键关闭:一键关闭所有正在运行的模拟器
  • 按钮_刷新:刷新超级列表框_窗口信息的信息
  • 编辑框_启动模拟器数量:输入整数型数据,默认为3
  • 编辑框_启动模拟器间隔时间:输入整数型数据,默认为5
  • 编辑框_模拟器起始路径:输入文本型数据,内容为雷电模拟器起始路径,默认为:D:\雷电模拟器\leidian\LDPlayer9\


功能实现

        首先针对需求一:一键启动、关闭所有模拟器以及单个模拟器的操作进行功能实现,相关UI如下:

  • 编辑框_模拟器起始路径:用于读取模拟器信息,通过雷电模块相关命令实现
  • 按钮_一键启动:点击按钮后执行一键启动模拟器命令
  • 按钮_一键启动:点击按钮后执行一键关闭模拟器命令
  • 按钮_选中启动:选中对应模拟器,点击按钮后启动该模拟器
  • 按钮_选中关闭:选中对应模拟器,点击按钮后关闭该模拟器
  • 编辑框_启动模拟器间隔时间:如名

        针对需求二:前端界面展示所有模拟器信息,包含:模拟器名称、顶层句柄、绑定句柄,我们通过雷电相关模块将获取的返回值进行操作,相关UI如下:

  • 超级列表框_窗口信息:展示序号、模拟器名称、顶层、绑定句柄、信息

        以下为实现代码:

        全局变量

.版本 2.全局变量 雷电, 雷电dnconsole操作

        窗口程序集_启动窗口

.版本 2.程序集 窗口程序集_启动窗口.子程序 __启动窗口_创建完毕' 雷电模拟器路径
雷电.置模拟器目录 (_启动窗口.编辑框_模拟器路径.内容).子程序 _按钮_全部启动_被单击' 一键启动模拟器,并刷新界面信息
模拟器_一键启动 ().子程序 _按钮_全部关闭_被单击' 一键关闭模拟器,并刷新界面信息
模拟器_一键关闭 ().子程序 _按钮_选中启动_被单击' 启动选中模拟器,并刷新界面信息
模拟器_选中启动 ().子程序 _按钮_选中关闭_被单击' 关闭选中模拟器,并刷新界面信息
模拟器_选中关闭 ().子程序 _按钮_刷新_被单击' 刷新窗口信息
模拟器_取模拟器信息 ()

        功能_模拟器程序集

.版本 2
.支持库 iext.程序集 功能_模拟器.子程序 模拟器_取模拟器信息, , 公开
.局部变量 局_数据, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 局_单分割, 文本型, , "0"' 清楚当前窗口信息
_启动窗口.超级列表框_窗口信息.全部删除 ()
' 取全部模拟器数据
雷电.取全部模拟器 (局_数据)
' 展示模拟器信息
.计次循环首 (取数组成员数 (局_数据), i)局_单分割 = 分割文本 (局_数据 [i], “,”, )_启动窗口.超级列表框_窗口信息.插入表项 (, , , , , )_启动窗口.超级列表框_窗口信息.置标题 (i - 1, 0, 到文本 (i))_启动窗口.超级列表框_窗口信息.置标题 (i - 1, 1, 到文本 (局_单分割 [2]))_启动窗口.超级列表框_窗口信息.置标题 (i - 1, 2, 到文本 (局_单分割 [3]))_启动窗口.超级列表框_窗口信息.置标题 (i - 1, 3, 到文本 (局_单分割 [4])).如果真 (到整数 (局_单分割 [3]) ≠ 0)_启动窗口.超级列表框_窗口信息.置标题 (i - 1, 4, “启动”).如果真结束.如果真 (到整数 (局_单分割 [3]) = 0)_启动窗口.超级列表框_窗口信息.置标题 (i - 1, 4, “未启动”).如果真结束.计次循环尾 ().子程序 模拟器_一键启动, , 公开
.局部变量 i, 整数型
.局部变量 模拟器_数量, 整数型
.局部变量 间隔时间, 整数型' 获取要启动模拟器的数量和间隔时间
模拟器_数量 = 到整数 (_启动窗口.编辑框_模拟器启动数量.内容)
间隔时间 = 到整数 (_启动窗口.编辑框_模拟器启动间隔时间.内容) × 1000
' 一键启动模拟器,并刷新窗口信息
.计次循环首 (模拟器_数量, i)雷电.启动模拟器 (i - 1, )程序_延时 (间隔时间, )
.计次循环尾 ()
程序_延时 (5000, )
' 刷新窗口信息
模拟器_取模拟器信息 ().子程序 模拟器_一键关闭' 一键关闭模拟器,并刷新窗口信息
雷电.关闭所有模拟器 ()
程序_延时 (5000, )
' 刷新窗口信息
模拟器_取模拟器信息 ().子程序 模拟器_选中启动
.局部变量 索引, 整数型' 启动模拟器
索引 = _启动窗口.超级列表框_窗口信息.现行选中项
雷电.启动模拟器 (索引, )
程序_延时 (5000, )
' 刷新窗口信息
模拟器_取模拟器信息 ().子程序 模拟器_选中关闭
.局部变量 索引, 整数型' 关闭模拟器
索引 = _启动窗口.超级列表框_窗口信息.现行选中项
雷电.关闭模拟器 (索引)
程序_延时 (5000, )
' 刷新窗口信息
模拟器_取模拟器信息 ()

效果演示

        上述就是针对雷电模拟器中控实现的代码了,最后看看成品效果:

        下图为启动程序,刷新窗口信息后的效果图:

        下图为点击一键启动后的效果图:

          其他按钮的功能就不继续演示了,感兴趣可以复制粘贴,获取相关模块进行操作

注意点

        最后针对几个疑问点进行解答:

  • 各个模块发挥的作用?
    • 乐玩模块在改处实际上并未使用
    • 精益模块只进行了一些延时等简单功能
    • 雷电模块是本项目最重要的模块了,用于读取模拟器、操作模拟器等等功能
  • 顶层句柄和绑定句柄是什么意思?有什么区别?
    • 顶层句柄:其实就是电脑打开雷电模拟器,这个雷电模拟器的窗口句柄
    • 绑定句柄:在雷电模拟器内,其实还有一个内置窗口,一般的操作也是在这个窗口执行,所以叫做绑定句柄,绑定句柄也就是这个窗口的句柄

这篇关于雷电模拟器中控实现,直通源码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1046126

相关文章

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭

Python实现高效地读写大型文件

《Python实现高效地读写大型文件》Python如何读写的是大型文件,有没有什么方法来提高效率呢,这篇文章就来和大家聊聊如何在Python中高效地读写大型文件,需要的可以了解下... 目录一、逐行读取大型文件二、分块读取大型文件三、使用 mmap 模块进行内存映射文件操作(适用于大文件)四、使用 pand

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一