文档库 最新最全的文档下载
当前位置:文档库 › 按键精灵开发教程:遍历子窗口

按键精灵开发教程:遍历子窗口

按键精灵开发教程:遍历子窗口
按键精灵开发教程:遍历子窗口

按键精灵开发教程:遍历子窗口

来源:按键学院【按键精灵】

遍历一个窗口的所有子窗口,返回符合条件(标题或类名)的窗口句柄,请写出函数(遍历子窗口).

>>题意解析

假设红色框框圈起来的就是我们要遍历的窗口。

那么,我们要遍历到的是这个窗口下的所有子窗口,二级子窗口,三级子窗口……有多少级都要遍历下去。

如果遍历到类名或标题符合的子窗口,则记录下来。

以上图的窗口为例,

假设我们设置的返回条件是窗口类名=Button,

那么只有窗口句柄为65638这个子窗口符合条件,则返回窗口句柄:65638

假设我们设置的返回条件是窗口类名=ToolbarWindow32 ,

那么有两个子窗口符合条件,则返回这两个窗口的窗口句柄:65632和65636

有多少童鞋坑在了这一题呢?

是否写了很长的一段代码,但是测试的时候发现就是行不通?

不必烦恼不必彷徨,小编今天带来了工程师06,也就是咱们骚气的06老师的精品代码,十六行代码搞定遍历子窗口

思路

遍历子窗口源码分享

Function 遍历子窗口(Parent, ClassName)

Dim RetStr,TmpHdr //定义局部变量

Do

TmpHdr = Plugin.Window.FindEx(Parent, TmpHdr, 0, 0) //查找子窗口

If TmpHdr Then // 判断是否有查找到子窗口

If Plugin.Window.GetClass(TmpHdr) = ClassName Then //判断窗口类名

RetStr = RetStr & TmpHdr & "|" //符合则记录窗口句柄

RetStr = RetStr & 遍历子窗口(TmpHdr, ClassName)//递归寻找下一级窗口

Else

RetStr = RetStr & 遍历子窗口(TmpHdr, ClassName)//递归寻找下一级窗口

End If

End If

Loop While TmpHdr //如果没有子窗口则退出循环

遍历子窗口= RetStr //将查找到的符合的窗口句柄返回

End Function

代码分析

要怎么理解递归呢?

《盗梦空间》不知道大伙有没有看过,小编很喜欢这部电影,刺激带感……咳咳言归正传我们可以把递归比作梦境来理解。

整个遍历子窗口函数就是一个梦境

当我们在脚本开始的时候,还清醒着。

TracePrint 遍历子窗口(65608,"Button")

执行这句的时候,我们就带着 65608,"Button"这两个参数值进入了第一重梦境

>>第一重梦境

先将 RetStr,TmpHdr 两个变量定义成局部变量,局部变量只作用于当前梦境,进入下一重梦境,它们会初始化。

进入循环,查找子窗口

我们带来的两个参数,65608 是传递给parent的,而 Tmphdr 此刻的值是0/空。

带入 TmpHdr = Plugin.Window.FindEx(Parent, TmpHdr, 0, 0) 中运算:

TmpHdr = Plugin.Window.FindEx(65608, 0, 0, 0)

TmpHdr = 65614

判断是否有子窗口

If TmpHdr Then

End If

TmpHdr = 65614 有子窗口,则判断窗口句柄类名

我们带来的两个参数,"Button" 是传递给 ClassName的

带入 if Plugin.Window.GetClass(TmpHdr) = ClassName Then 中运算:

当前子窗口的类名为:TrayNotifyWnd

不符合要求,则执行else后面的语句:

RetStr = RetStr & 遍历子窗口(TmpHdr, ClassName)

执行这一句,又调用了遍历子窗口函数,带着TmpHdr, ClassName 进入了第二重梦境。

此时 TmpHdr=65614

ClassName 值不变

parent=65608

>>第二重梦境

TmpHdr 的值传递给了parent

ClassName 的值传递给了 ClassName

之前在第一重梦境里的 RetStr 和TmpHdr 的值在第二重梦境不生效,初始化为0/空带入 TmpHdr = Plugin.Window.FindEx(Parent, TmpHdr, 0, 0) 中运算:

TmpHdr = Plugin.Window.FindEx(65614 , 0, 0, 0)

TmpHdr = 65616

判断是否有子窗口

If TmpHdr Then

End If

TmpHdr = 65616 有子窗口,则判断窗口句柄类名

ClassName="Button"

带入 if Plugin.Window.GetClass(TmpHdr) = ClassName Then 中运算:

当前子窗口的类名为:TrayClockWClass

不符合要求,则执行else后面的语句:

RetStr = RetStr & 遍历子窗口(TmpHdr, ClassName)

执行这一句,又调用了遍历子窗口函数,带着TmpHdr, ClassName 进入了第三重梦境。

此时 TmpHdr=65616

ClassName 值不变

Parent=65614

>>第三重梦境

TmpHdr 的值传递给了parent

ClassName 的值传递给了 ClassName

带入 TmpHdr = Plugin.Window.FindEx(Parent, TmpHdr, 0, 0) 中运算: TmpHdr = Plugin.Window.FindEx(65616 , 0, 0, 0)

TmpHdr = 0

判断是否有子窗口

If TmpHdr Then

End If

TmpHdr = 0 没有子窗口,则结束判断,结束循环

遍历子窗口= RetStr

我们把查找的结果带上,第三重梦就结束了。

第三重梦结束,我们在第二重梦醒来。

>>第二重梦境

我们进入第三重梦境之前,第二重梦境里:

TmpHdr=65616

ClassName 值不变

Parent=65614

这些值没有变化。

我们接着循环,

带入 TmpHdr = Plugin.Window.FindEx(Parent, TmpHdr, 0, 0) 中运算: TmpHdr = Plugin.Window.FindEx(65614 , 65616, 0, 0)

TmpHdr = 65618

接下去的推算和上面的二重步入到三重梦境的一样的。

进入第三重发现没有子窗口,梦醒回到第二重,继续第二重的梦境,继续循环。当第二重执行到没有子窗口的时候,则梦醒回到第一重梦境。

当然,后面还会进入更多重的梦境

例如:

65630 还有一个下级窗口 65632

所以进入到第三重梦境的时候,还没有结束,会进入第四重梦境,第四重梦境里没有找到子窗口,则梦醒,回到第三重梦境,第三重梦境再继续循环,发现已经没有其它的下级窗口了,则梦醒,回到第二重梦境,继续循环。

学习游戏脚本制作:按键精灵里的if语句教程

学习游戏脚本制作:按键精灵里的if语句教程 来源:按键学院【按键精灵】万万没有想到……有一天居然会栽在if语句手里。 First—小编的凄惨经历 小编今早写脚本,由于无意间将if语句中的end if错删了,弹出了这样的错误提示: “(错误码0)没有找到合法的符号。” 看到这个提示,小编以为是哪个逗号不小心写成中文逗号,没成想丢了个end if也是出现这样的提示。 好在代码不多,所以错误点容易找到,那……如果,代码多达几百上千条的时候呢?眼泪马上掉出来~ 今天在这里和童鞋们一起来了解下,按键里的夫妻组合,看看这些夫妻被分开之后都会出现什么样的可怕情况: Second—一夫一妻制 If……end if判断语句 If判断语句,有分为两种: 1、 if语句条(条模式) 当判断完之后,要执行的语句只有一条的时候,使用if语句条

例如: If 1 > 0 Then MessageBox"Hello~" // If语句条,不需要添加end if //条模式的时候,if语句还是单身,不是夫妻组合 2、 if语句块(块模式) 当判断完之后,要执行的语句有很多条的时候,使用if语句块 例如: If 1 > 0Then MessageBox"Hello~" MessageBox"Hello~" End If //块模式的时候,if语句是已婚状态,夫妻组合。如果这个时候缺少了end if 就会出现下面的错误提示: 拓展:if语句块中then 可以省略 例如: If 1 >0 MessageBox"Hello~" MessageBox"Hello~"

End If For……next循环语句 例子: For i=1 To 10 //这里的脚本可以循环10次 Next 拓展:如果,循环体里不需要用到循环次数值,例如,需要打开十个记事本,可以这样写: For 10 RunApp "Notepad.exe" Next 当for循环语句缺少next的时候,会出现下面的错误提示: Do……Loop 循环语句 Do……Loop循环语句分为两种情况: 1、前判断 Do While条件 Loop

脚本开发教程:按键精灵解决游戏设置

心之所向,所向披靡 脚本开发教程:按键精灵解决游戏设置 “啊~怎么回事?用你的脚本,它就像傻逼一样,一直重复的开启关闭游戏设置界面?" 许多脚本作者会遇到这样的问题。其实只是用户没有设置好游戏分辨率,脚本无法识别下一步,所以重复的开启关闭游戏设置界面。即便是脚本作者很细心的把脚本使用环境都讲解得很仔细。但是总会有人忽略,或者是设置不来,或者是要设置的地方真的很多,设置好了游戏分辨率又忘记了修改快捷键。 有什么办法,可以让这样的情况不发生呢? 解决方法: 许多游戏会把游戏设置保存在某个文件,我们在本机上设置好游戏设置保存之后,复制这个游戏设置文件,用它覆盖掉使用者电脑上的游戏设置文件,即可让使用者电脑的游戏设置和本机的一致。比如某灵游戏,在 我的文档->BnS->NCSOFT->ClientConfiguration.xml ClientConfiguration.xml 这个文件保存了游戏的界面设置,快捷键设置、画面设置等。知识拓展一下: 如果是要备份游戏设置文件呢? 我们可以把使用者电脑中的文件先移动到其它文件中, 例子中,将游戏配置文件移动到了F盘的test文件夹里。 我们使用File文件插件中的MoveFile命令,将 ClientConfiguration.xml 文件移动到F 盘test文件夹下、

代码: 路径=CreateObject("Shell.Application").Namespace(&H5).Self.Path &"\BnS\NCSOFT\" Call Plugin.File.MoveFile(路径&"ClientConfiguration.xml","F:\test\") 另:使用vbs 写法如下 Set fso = CreateObject("Scripting.FileSystemObject") 路径=CreateObject("Shell.Application").Namespace(&H5).Self.Path &"\BnS\NCSOFT\" Call 移动文件(路径&"ClientConfiguration.xml","F:\test\") Sub 移动文件(ywj,mb) // sub 移动文件(源文件地址,目标文件夹地址) Dim fso Set fso = CreateObject("Scripting.FileSystemObject") fso.MoveFile ywj, mb End Sub 评论,观念,各有不同做好自己那份就好

按键精灵教程

变量!神奇的小柜子 变量就是会变化的量。就像一个小柜子,我们可以在柜子里装载不同的东西,而当我们需要找到这些东西的时候,只要记住柜子的名字就可以了。 使用变量的方法是:先定义(给柜子起名)、再赋值(将物品放进柜子)、最后使用(根据柜子名字找到放在其中的物品)。 使用Dim命令定义变量,例如: Dim str1 //定义变量str1 Dim var1=22 //定义变量Var1,并且赋值为22 例子1:使用变量设置输出文字的内容 1、下面红色的是3行脚本,请把他复制到“源文件”当中 Dim str1 str1 = "你很聪明" SayString str1 2、Dim str1 就是定义变量,也就是说我们创建了一个小柜子,给他起名为str1 3、str1 = "你很聪明" 就是赋值,我们把"你很聪明"这几个字放到str1这个小柜子里 4、SayString str1 表示我们输出str1这个变量的内容,也就是说把str1这个小柜子里的内容拿出来交给SayString 这个命令去使用。 5、如果你希望修改喊话的内容,只要修改str1这个小柜子里的内容就可以了。 例子2:变量的一些用法 a=1 把数字1放进柜子a中。 b="你猜对了吗?" 把字符串你猜对了吗?放进柜子b中。字符串必须用""包含。 dc=3.14159265 把小数放进柜子dc中。 num1=1 num1=33 num2=55 sum=num1+num2 首先把33和55分别放入num1和num2中。然后把他们取出来,做加法操作(加法是由CPU来处理的),把结果放在sum中。结果sum等于88 num1=1 num1=33 num1被给值为1,然后又给值为33。此时,num1中存储是的33。1就被覆盖掉了。没有了:) sum=sum+1 这句不等同于数学的加法,也是初学者不容易理解的地方。我们只要想,把sum拿出来和1做加法,再放回sum中就可以了。sum原来的值是88,做完加法后,sum等于89。 pig=1 pig=pig*3+pig 能猜出pig最后等于几么?1*3+1。结果是4 例子3:使用变量输入1到100的数字 VBSCall RunApp("notepad") Delay 2000 a=1

学会用按键精灵制作游戏脚本之前后台坐标关联教程

学会用按键精灵制作游戏脚本之前后台坐标关联教程 来源:按键学院【按键精灵】 各位大大在切换前后台命令的时候,有没有遇到坐标切换呢~ 有没有发现前后台的命令,对同一个窗体内容,居然坐标不同!! 今天~院刊就跟大家普及下前台坐标与相对应的后台坐标知识~ 什么是前台坐标和后台坐标呢? 什么是前台坐标? 以屏幕左上角的坐标为起点(0,0,从而获取到的各个窗体的坐标,就是前台坐标。 什么是后台坐标? 以窗口左上角为起点(0,0,从而获取到的这个窗体内的相对坐标,就是后台坐标。 如图: 我们来举个栗子吧,例如txt文本里的输入文字的起始点。

至此,各位大大知道前后台坐标的联系了吧。一个是绝对坐标(前台),一个是相对坐标(后台)。 那么如何进行前后台坐标的切换呢 从上图里,聪明机智的小伙伴们就会发现:如果知道了前台坐标,也知道了窗口左上角的值。那么窗口客户区内的 任意后台的坐标,不是都可以通过以下计算来获得了: 后台x坐标=客户区前台x坐标-客户区左上角前台x坐标 后台y坐标=客户区前台y坐标-客户区左上角前台y坐标 如何获得客户区前台的x,y坐标呢? 我们使用按键精灵自带的窗体插件命令:GetWindowRect来获取。 命令名称: GetWindowRect 窗口边框大小 命令功能:得到窗口句柄的边框大小(包括标题栏 命令参数:参数1 整数型,窗口句柄

返回值:字符串型,边框大小(包括标题栏 注:返回为:边框窗口左角X坐标|边框窗口左上角Y坐标|边框窗口右下角X坐标 |边框窗口右下角Y坐标 //下面这句是得到窗口句柄的边框大小(包括标题栏 sRect = Plugin.Window.GetWindowRect(句柄 将你所要获取的窗口句柄填入括号内就可以啦~ 范例举例: 举个萌萌哒的例子:向记事本特定位置输入文字。 例如我要往“hello”和“按键精灵”中间插入文字: 2014-9-17 18:03 上传 下载附件(8 KB 思路: 每次打开记事本的位置,有可能会有变化。而我们又不能每次都要去获取它的坐标再改脚本,这样太费力了。所以呢,只要锁定了记事本,知道了目标在记事本中的相对位置就可以操作啦。 同理,寻找游戏里的物品目标,前台不稳定。后台命令也是基于相对坐标的。 1. 先找到目标窗体的左上角坐标 (通过窗体插件命令:GetWindowRect来获取) 2. 再找到目标窗体内,“hello”和“按键精灵”中间的坐标 (为了方便,我们用抓抓获取。在游戏中,可以通过找图找色来获取前台坐标)

按键精灵 输入框

按键精灵输入框 一、控件介绍 在输入框中单击鼠标会出现插入点光标,我们可以直接在输入框中输入文字或文本信息。二、创建控件 创建输入输入框和之前创建标签的方法是一样的。在工具栏上点击输入框控件。移动鼠标到QUI的窗体上,这时鼠标就会变成“十”字形状,这就说明已经成功选择创建输入框了。然后,在编辑区域按住鼠标左键,框选一块区域,松开鼠标左键。这时界面上就创建出一个输入框出来了,如下图。 三、控件属性 在QUI在输入框的属性总共有10项。其中有4个基本属性和5个位置属性外加1个其他属性(控件样式)。 基本属性分别是:名称(Name)、显示(Visible)、有效(Enabled)、标题(Caption)。 位置属性分别是:左边(Left)、上边(Top)、宽度(Width)、高度(Height)、显示顺序(Z Order)。

其他属性为“密码”。这个属性是为了提供满足用户们输入密码而设计的,当这个属性值为“是”时,在输入框输入的全都了“*”代替。并且该属性在QUI编辑时就已经设置好,在运行过程当中无法修改这个属性。 (1)获取输入框的值 输入框控件是制作界面中最使用的控件类型。主要是提供给用户输入使用的。所以在输入框的控件中最经常发生的一件事情就是获取输入框值的内容。 和标签一样,输入框的内容我们也称它为文本。但是和标签不同的是,输入框文本对应的是T ext。 既然我们知道了输入框上的文本属性是通过Text来访问的。那么我们就在脚本里面获取内容来使用。 在界面中创建一个输入框,默认输入框的名称是“InputBox1”。输入框的文本内容默认也是“InputBox1”。然后我们切换到脚本的源码视图,编辑代码获取文本框控件上的文本内容,并且将这个内容弹窗显示出来。 MessageBox Form1.InputBox1.Text 编辑完成后,点击【保存】,然后进入调试,点击【自定义界面】,可以看到刚才创建的输入框的内容。修改输入框里面的内容,比如修改成“ABCDEF”,点击【保存】,然后【确定】,最后关闭QUI窗体,点击【启动】。 这时就可以看到弹出窗口里面显示着“ABCDEF”。

2018-2019-按键精灵知识-word范文模板 (11页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除! == 本文为word格式,下载后可方便编辑和修改! == 按键精灵知识 篇一:按键精灵新手入门 按键精灵文档简介: 基本信息→基本介绍→使用说明→软件功能→软件特点→使用方法→更新日志→常见问题→安全认证 按键精灵: 按键精灵是一个模拟鼠标键盘动作的软件。通过制作脚本,可以让按键精灵代替双手,自动执行一系列鼠标键盘动作。按键精灵简单易用,不需要任何编程知识就可以作出功能强大的脚本。只要在电脑前用双手可以完成的动作,按键精灵都可以替代完成. 按键精灵基本信息:软件版本:按键精灵(Quick Macro) 9.0版 软件大小: 7.93MB 更新时间: 201X-08-11 软件类别:国产软件 / 键盘鼠标 软件语言:简体中文 / 繁体中文 应用平台: Win9x/Win201X/WinXP/WinVista/Win7 软件性质:免费软件 开发商:兄弟工作组 按键精灵会员注册: 按键精灵基本介绍: 按键精灵可以帮你操作电脑。类似于按键精灵的软件有 "

按键游侠","super-ec"等。从编程的角度看,集合一些插件的脚本编辑、调试工具。代码不公开。生成的小精灵,模式化界面,界面中有广告,以此盈利 软件功能:1.网络游戏中可作脚本实现自动打怪,自动补血,自动说话等; 2.办公族可用它自动处理表格、文档, 按键精灵 自动收发邮件等 3.任何觉得“有点烦”的电脑操作都可以替完成。按键精灵软件特点: 1.操作简单,非常容易上手; 2.功能强大,脚本语句丰富; 3.界面友好,使用鼠标就可以完成大部分脚本的制作动作 4.兼容性好,支持大部分Windows下的软件 5.拥有“神盾”保护功能。 按键精灵使用方法:第一步:设计脚本功能 按键精灵 写脚本之前要想清楚自己要做什么功能。在这里来制作一个每隔5秒自动按F5刷新网页的脚本。 第二步:设计脚本 为制作了组图来说明如何制作这个脚本。 做任何脚本都是两步:第一步先设计功能,第二步就是用按键精灵提供的命令完成这些功能。 常见问题: 什么是脚本? 脚本就是一系列可以反复执行的命令.通过一些判断条件,可以让这些命令具有一定的智能效果. 按键精灵软件如何制作脚本?

游戏辅助制作教程――如何使用按键精灵脚本自动间隔时间释放辅助.

方法三:我认为大华的成本核算应该选择分类法和逐步分项结转法。首先大华服装公司的男女西服两种产品所用原料和工艺技术过程相同,可以归一类计算产品成本,因而最适宜采用分类法计算成本。其次,根据题目所给的材料可知,大华公司男女西服一开始就没有分开计算成本,所以我认为采用分类法计算是符合大华公司产品成本计算的。。 结合本公司的特点和管理上的要求本组采用分项逐步结转分步法: 1、其能直接、准确提供按原始成本项目反映的产成品成本资料,便于从整个企业角度考核和分析产品成本计划的执行情况 2、此方法的半成品成本都是随着半成品实物的转移而结转,各生产步骤产品明细账中的生产费用余额,反映了留存在各个生产步骤的在产品成本中,因而能为在产品的实物管理和生产资金管理提供资料。 累计完工率 在分项结转分步法中,约当产量的计算需要使用累计完工率。 累计完工率=(以前各工序工时定额之和+本工序工时定额×本工序完工率)÷(以面各工序工时定额之和+本工序工时定额) 我们发现计算累计完工率的关键在于工时定额的测算。 工时定额的取得; (1通过总结过去的经验:通过询问服装厂工艺人员经验我们得到以下信息,西服裁剪、缝纫、平整分别需要0.5h、7h、1h。 (2以同类产品的工件或工序的时间定额为依据进行对比分析后推算出来:通过网上资料搜寻发现日产量为1200件的服装厂西服裁剪缝纫、平整分别需要82s、885s、115s。 通过观察累计完工率的公式我们发现,由于计算累计完工率需要的是各工序工时定额的比,经过测算各工序定额工时占定额工时比例可以得知: 项目裁剪工序缝纫工序平整工序总结过去的经验的到数值5%80%15%

按键精灵经典教程

按键精灵经典教程 一、键盘命令(2~5页) 二、鼠标命令(5~13页) 三、控制命令(13~22页) 四、颜色/图像命令(22~28页) 五、其他命令(28~355页)五、网游脚本实例(35~最后)

一、键盘命令 命令名称:GetLastKey 检测上次按键命令功能:检测上次按键 命令参数:参数1 整数型,可选:变量名 返回值:无 脚本例子:(8.x语法) 复制代码 1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次 按下的按键码保存在变量Key里。 2.Key=GetLastKey() 3.If Key = 13 Then 4. Msgbox "你上次按下了回车键" 5.End If 脚本例子:(7.x语法) 复制代码 1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次 按下的按键码保存在变量Key里。 2.GetLastKey Key 3.If Key = 13 4. Msgbox "你上次按下了回车键" 5.EndIf 命令名称:KeyDown 按住 命令功能:键盘按住 命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符) 参数2 整数型,次数 返回值:无 脚本例子:(8.x语法) 复制代码 1.//KeyDown、KeyDownS、KeyDownH 2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模

4.KeyDown 65,1 5.//65是A键的按键码,上面的语句表示按住A键1次 6. 7.KeyDown "A",1 8.//上面的支持按键字符,语句表示按住A键1次 脚本例子:(7.x语法) 复制代码 1.//KeyDown、KeyDownS、KeyDownH 2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模 拟方式的注意事项 4.KeyDown 65,1 5.//65是A键的按键码,上面的语句表示按住A键1次 命令名称:KeyPress 按键 命令功能:键盘按键 命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符) 参数2 整数型,次数 返回值:无 脚本例子:(8.x语法) 复制代码 1.//KeyPress、KeyPressS、KeyPressH 2.//KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyPressH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件 模拟方式的注意事项 4.KeyPress 65,1 5.//65是A键的按键码,上面的语句表示按A键1次 6. 7.KeyPress "A",1 8.//上面的支持按键字符,语句表示按A键1次 脚本例子:(7.x语法) 复制代码 1.//KeyPress、KeyPressS、KeyPressH 2.//KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyPressH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件

按键精灵图文教程

手把手教你用“按键精灵”图文教程 类型:转载 按键精灵是一个可以模拟电脑操作的软件,您在电脑上的一切动作都可以让按键精灵模拟执行,完全解放您的双手。按键精灵可以帮你操作电脑,不需要任何编程知识就可以作出功能强大的脚本。 如果你还为一些枯燥、繁琐的电脑操作而烦恼,按键精灵绝对会是你最好的帮手。 那么,按键精灵具体能帮我们干什么呢?我们来列举几个例子来说明下。 * 网络游戏中可作脚本实现自动打怪,自动补血,自动说话等; * 办公族可用它自动处理表格、文档,自动收发邮件等; * 任何你觉得“有点烦”的电脑操作都可以替你完成。按键精灵第一个实现了“动动鼠标就可以制作出脚本”的功能。我们不希望为了使用一个小软件而去学习编程知识,考虑到这些,所以按键精灵完全界面操作就可以制作脚本。按键精灵的脚本是纯粹的TXT文件,即使是目前新增了插件功能,也引入了数字签名的机制。因此我们可以放心的使用网站上的脚本而不用担心会有病毒。 脚本就是一系列可以反复执行的命令.通过一些判断条件,可以让这些命令具有一定的智能效果.我们可以通过”录制”功能制作简单的脚本,还可通过”脚本编辑器”制作更加智能的脚本.今天我们就通过录制一个最简单的脚本,来手把手的教大家使用按键精灵。 上网一族一般开机后会先看看自己邮箱,或者看看自己博客;每天如此,可能都有些烦了。现在好了,把这些繁杂的事情交给按键精灵吧。今天我们就来录制一个自动登录博客,并对整个页面进行浏览的脚本。 首先,我们打开“按键精灵”。其运行界面如下(图1): 图1 运行界面 打开软件后点击工具栏上“新建”项(如图2);之后进入“脚本编译器”界面(如图3)。

学习脚本制作:按键精灵让QUI界面如此炫酷

学习脚本制作:按键精灵让QUI界面如此炫酷 来源:按键学院【按键精灵】脚本功能很好用,但是那乱得让人有尿意的界面……总是让人闻风丧胆有木有?吓哭小孩子有木有?脚本的界面可以说是脚本的门面,要长得好看才能吸引更多怪蜀黍~ 只要咱们懂得利用控件,尽情挥洒咱的无限创作力,一定可以让QUI界面更骚气~ 滑动界面 骚气值:五颗星,很骚气 功能:鼠标点击界面滑动,切换到其它页面 效果演示: 主要控件 标签、定时器、选项卡、单选框、热键

代码: Dim x1,x2,y1,y2,选项,选项记录 Event Form1.Load Form1.Hotkey1.Register True Form1.Timer1.Enabled = False //默认定时器是启动状态,所以要先停止 Form1.Timer1.Interval = 120 //设置定时器循环的间隔时间(单位:毫秒) 选项=Form1.TabControl1.T ab Call 单选框显示() End Event Event https://www.wendangku.net/doc/3013100477.html,bel1.Click GetCursorPos x1, y2 选项记录=Form1.TabControl1.Tab Form1.Timer1.Enabled = False //防止被重复启动定时器 Form1.Timer1.Enabled = True End Event Event Form1.Hotkey1.Hotkey Form1.Timer1.Enabled = False End Event Event Form1.Timer1.Timer Dim d GetCursorPos x2, y2 d = (x2 - x1) \ 70 +选项记录 If d >=0 and d<=4 Then Form1.T abControl1.Tab = d End If Call 单选框显示() End Event Sub 单选框显示() 选项=Form1.TabControl1.T ab Select Case 选项 Case 0 Form1.OptionBox1.Value = 1 Case 1 Form1.OptionBox2.Value = 1 Case 2 Form1.OptionBox3.Value = 1 Case 3 Form1.OptionBox4.Value = 1 Case 4 Form1.OptionBox5.Value = 1 Case Else End Select End Sub

按键精灵教程:启动热键的设置技巧

按键精灵教程:启动热键的设置技巧 来源:按键学院【按键精灵】热键设置 启动热键:启动当前脚本 暂停/继续热键:暂停或继续当前脚本。(暂停之后再继续,是从脚本暂停的位置继续向下执行,而不是重新运行脚本) 中止热键:结束当前脚本。 全部中止热键:结束所有脚本。 热键可以设置为一个单一键,例如:F10、F11 也可以设置组合键,例如:ctrl+a、ctrl+b 还可以设置为鼠标键,例如:鼠标左键单击、右键单击等

单一键的设置 打开我们的脚本——>点击脚本属性 即可看到热键的设置界面 点击要修改的热键输入框 点击热键输入框之后,按下要设置的按键,例如:F7 设置方式十分简单,但是我们会发现,如果我们点击输入框按下enter键又或者是shift键时,不能成功的设置热键 要怎么解决呢?

要设置这些特殊键为启动热键时,我们可以点击热键输入框后面的倒三角红色按钮,然后点击键盘热键,选择我们需要的按键 组合键的设置 组合键的设置和单一键的设置方法是一样的 打开我们的脚本——>点击脚本属性 即可看到热键的设置界面 点击要修改的热键输入框 点击热键输入框之后,按下要设置的按键,例如:Ctrl+A 或者三个组合键:Ctrl+Alt+A 鼠标热键的设置 要设置鼠标键为热键,不能直接在热键输入框里点击鼠标键来设置 需要点击热键输入框后面的倒三角红色按钮,然后点击鼠标热键,选择我们需要的鼠标键

热键模式设置 当我们在一些游戏里,发现启动热键按了无效的时候。我们可以尝试更换热键模式再使用。我们可以理解为,每个游戏的机制不同,就像人一样,有的喜欢吃甜有的喜欢吃辣。而我们的热键模式就好比是:酸甜苦辣咸。 不喜欢酸就换成甜,不喜欢甜就换成辣,口味多样,总有一款适合你。 热键模式有五种: 普通模式:不占用热键原有功能,兼容性稍差 增强模式:兼容性最好,但占用热键原有功能 硬件模式:能解除屏蔽,只适用于win2000以上 软件模式:兼容性好,但可能被误报木马或病毒 共享模式:兼容性好,可适用大部分操作系统 设置方式: 1、点击设置按钮 2、点击热键,即跳转到热键模式的设置界面

按键精灵学习教程

按键精灵学习教程 一、 1、子程序和函数调用演示 //<>---------------------------------------------子程序调用 Call 普通子程序() Call 代入参数的子程序(100,50) //<>---------------------------------------------函数调用 Msgbox 代入参数的函数(100,50) Sub 普通子程序() Msgbox "我是普通子程序,被调用了" End Sub Sub 代入参数的子程序(a,b) c=a+b Msgbox "我是代入参数的子程序,被调用了。结果值为:" & c End Sub Function 代入参数的函数(a,b) c=a*b 代入参数的函数= "我是代入参数的函数,被调用了。结果值为:" & c End Function 2、重启脚本运行演示 For i=0 to 2 Delay 1000 Call Plugin.Msg.ShowScrTXT(0, 0, 1024, 768, "屏幕内容填写" & i, "0000FF") Next RestartScript //重新启动脚本运行 3、中文名变量演示

//<>---------------------------------------------用户自定义变量支持中文名为变量名 UserVar 启动=DropList{"打开":1|"关闭":0}=0 "补血启动开关" UserVar 补血=0 "补血百分比%" //<>---------------------------------------------定义变量支持中文名为变量名 Dim 提示 提示="补血启动开关未设置打开!" If 启动=1 Then Msgbox "补血百分比为:"& 补血& "%" Else Msgbox 提示 End If 4、选择条件结构演示 UserVar 变量=0 "输入(0~9)数字" //<>---------------------------------------------以下是选择条件结结构判断 Select Case 变量 Case 0 Msgbox "你输入的数字为:0" Case 1 Msgbox "你输入的数字为:1" Case 2 Msgbox "你输入的数字为:2" Case 3 Msgbox "你输入的数字为:3" Case Else Msgbox "你输入的数字不正确,请输入(0~3)数字!" End Select 5、下拉型用户自定义 //说明:{}当中是下拉的选项=0是指的默认显示哪个选项(从0开始) UserVar Var1=DropList{"低于10%时补血":"0.1"|"低于20%时补血":"0.2"|"低于30%时补血":"0.3"}=2 "自动补血设置" UserVar Var2=0 "普通自定义变量" MessageBox(Var1) MessageBox(Var2) 6、退出脚本运行演示

游戏辅助制作教程:按键精灵解密两种排序算法

游戏辅助制作教程:按键精灵解密两种排序算法 一、冒泡排序 冒泡排序是最慢的排序算法,但也是新手最容易上手的一个排序方法。在实际运用中它是效率最低的算法。它通过一趟又一趟地比较数组中的每一个元素,使较大的数据下沉,较小的数据上升。它是O(n^2)的算法。O(n^2)的算法其实是衡量算法速度快慢的一个指标,我们称之为算法的时间复杂度。时间复杂越大,算法的执行效率越低。 当然,并不是越快的算法,一定越好。算法还有另一个指标,叫空间复杂度,即算法占用多少空间,这个和内存息息相关。一个算法可能很快,但是它占用的内存多,不一定耗得起。所以呢在不同的场合,我们需要根据不同的要求,会选择最合适的算法。 但是在游戏扫拍卖或者其他需要比拼速度的时候,时间就是金钱~越快越能抢占先机。现在我们介绍另一种更快更有效率的排序——快速排序,时间复杂度为O(n*logn)。 二、快速排序的算法思想 快速排序采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。 该方法的基本思想是:

1.先从数列中取出一个数作为基准数。(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3 . 再对左右区间重复第二步,直到各区间只有一个数。 通俗一点解释就是:假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放在6的右边,比基准数小的数放在6的左边。 方法其实很简单:分别从初始序列“6 1 2 7 9 3 4 5 10 8”两端开始“探测”。先从右往左找一个小于6的数,再从左往右找一个大于6的数,然后交换他们。这里可以用两个变量i和j,分别指向序列最左边和最右边。我们为这两个变量起个好听的名字“哨兵i”和“哨兵j”。刚开始的时候让哨兵i指向序列的最左边(即i=1),指向数字6。让哨兵j指向序列的最右边(即=10),指向数字。

按键精灵游戏开发教程

按键精灵游戏开发教程 来源:按键学院【按键精灵】 渐开线找怪是一种高效率的找怪方法,以角色为中心点,向外扩散,找离角色最近的怪物。 渐开线 画渐开线重要的几个点: 1、起始点坐标 2、线与线之间的距离。

3、转向。 4、线长。(上图中,渐开线并不是一口气画完的,是一段线一段线的画。) 游戏里的规律 咱们今天讲的例子是2D游戏《神涂》。渐开线要怎么应用到游戏找怪呢? 咱们先了解下游戏里的规律,再将渐开线套用进去。 规律1: 在2D游戏里,角色、怪物移动的距离是固定的,就像走在棋盘里一样,移动一步就像走了一个格子。 在今天的游戏例子中,角色、怪物横着走一步是48个像素点,竖着走一步是32个像素点。(不是所有2D游戏都是这样的规格)

那么,如何知道一步的距离是多少呢? 我们可以获取角色血条的第一个像素点坐标,然后向上移动一步,再次获取血条第一个像素点坐标。y坐标的差值,即是竖走一步的距离,用同样的方法,横走一步即可获得横走一步的距离 规律2: 离角色越近的怪物,格子的圈数越少。

经过图片的分析,情况一目了然。 以角色为中心,一圈圈往外扩散,不正是渐开线么。 渐开线找怪思路 1、以角色右边一格为渐开线起始点,一圈圈往外遍历格子。(不一定要角色右边一格为起始点,上下左右都可以,不要以角色为起点即可。因为咱们的角色血条也是红的,如果从角色那一格开始遍历,那么一开始就找到角色自己的血条。) 2、遍历到第26个格子的时候发现怪物,角色移动过去打怪。打完怪物之后,以当前角色所在位置的右边一格为起始点,再次开始渐开线找怪。 例如:渐开线是8圈,遍历了8圈格子,其中第三圈和第五圈都有怪物。 遍历到第三圈找到怪物,角色移动到怪物点打完怪。 剩下的五圈继续遍历扩散,但不判断有没有怪物。

零基础学按键精灵(第一章)

程序结构介绍 此文为小妖首发于按键精灵论坛。借百度平台转发,希望能够帮到学按键的朋友。 当然,我自己也是一个新手,只不过,我能看一点代码,做点帮助自己的减少工作量的脚本。也达不到那些大神们,对API、dos(貌似有更多东西,可惜我只知道这些)等等理解深刻理解的大神那样,做到自己写代码优化脚本。我只能站在这些大神们做好的东西上,去做一些自己喜欢做的事。 估计很多人和我当初一样迷茫。看着按键的教程,学按键教程里面录制、跳转标记、找色、找图、找字。然后弄出个满是goto。。。的脚本。最后自己都不知道脚本写的是什么。 一开始就学补血、补篮、找图打怪。不仅弄出来的脚本,自己糊涂,给别人看,别人都糊涂。 那怎么徐徐渐进呢? 个人理解来说,我们应该从小到大。 实际上,按键是基于VBS开发出来的(不知道这句话对不对,反正就是类似VB。。。)。 一个脚本,基本上都遵循着程序结构来写的。 这儿介绍3种基本的程序结构:

1. 顺序结构。顺序结构就是按照运行顺序决定。 比如: 1.TracePrint "第一次" //调试显示“第一次” 2.TracePrint "第二次" //调试显示“第二次” 3.TracePrint "第三次" //调试显示“第三次” 这段代码,就是依次显示第一次第二次第三次。 一条一条的运行,一条一条的显示。当然,这儿你完全可以单步调试来查看运行顺序。 2.选择结构。选择结构是判断一个值,是否为真,为真的话怎么样,为假的话怎么样。 比如: 1.If 1 = 1 Then //判断 1=1 是否成立 2. TracePrint "真的相等" //成立则调试显示真的相等 3. Else //如果不成立 4. TracePrint "不相等" //不成立则显示不相等 5.End if //判断语句结束 这段代码,第一句的时候,就在做判断,是否相等,相等就执行紧接着的那条,不相等的话,就执行Else 后面的那条。双斜杠// 后面的字是注释,不会直接运行。这儿是用来给大家解释语句的。可以删除,不影响脚本运行。 3.循环结构。循环结构有很多。比如,do … loop 循 环While … wend 循环for … Next循环等等。我这儿不是教程,也就不一一介绍,大家可以去找相关教程。

按键精灵教程

按键精灵可以帮你操作电脑。不需要任何编程知识就可以作出功能强大的脚本。只要您在电脑前用双手可以完成的动作,按键精灵都可以替您完成。 按键精灵官方网站是:https://www.wendangku.net/doc/3013100477.html,/cn/qmacro 从编程的角度看,集合一些插件的脚本编辑、调试工具。代码不公开。生成的小精灵,模式化界面,界面中有广告,以此盈利。 使用环境 操作系统:Windows 98/98SE/Me/2000/XP/2003/Vista 软件支持:支持绝大多数软件,部分网络游戏中可能失效,但可尝试"神盾"功能,提高按键精灵的兼容性 按键精灵能帮我做什么? * 网络游戏中可作脚本实现自动打怪,自动补血,自动说话等 * 办公族可用它自动处理表格、文档,自动收发邮件等 * 任何你觉得“有点烦”的电脑操作都可以替你完成 上手指南 按键精灵是一个容易上手,但精通较难的软件。第一次接触它,自然会希望尽快熟悉它,让它为您工作。但如何上手呢?我来提供一些技巧 1、试:提供了免费试用,下载试用版安装后就可体验自带的例子。 2、学:上网看按键宝典,教程、实例统统都有,不懂还可上论坛提问。 3、用:边用边学,作出自己第一个脚本,你就入门啦~ 4、精:操作电脑的不便,都用脚本来解决,你的脚本也可以越来越聪明! 什么是脚本? 脚本就是一系列可以反复执行的命令.通过一些判断条件,可以让这些命令具有一定的智能效果. 如何制作脚本? 初学者可以通过”录制”功能制作简单的脚本,还可通过”脚本编辑器”制作更加智能的脚本. 如何使用脚本? 使用步骤如下: 1. 制作脚本:按照个人需求从网上搜集脚本或者自己制作脚本。如果您的脚本是从别的地方收集的,请先把脚本文件拷贝到按键精灵文件夹下的script文件夹中,然后再运行按键精灵。 2.选择有效的窗口:建议您选择“对所有窗口有效”。如果您只需要脚本当某个窗口在前台时有效,请选择窗口名称,比如“龙族” 3.让需要执行的脚本“有效”,只有“有效”一栏中勾中的脚本才会执行。 4.进入游戏(或者其他需要使用按键精灵的软件),在需要使用脚本的时候按下脚本的“快捷键”,按键精灵就会忠实的为您工作了。 5.希望脚本暂停的时候按下中止热键,即可暂停脚本. 什么是简单游? 简单游是一个拥有上千个按键精灵游戏脚本的软件平台,是按键精灵的网络游戏版.上网看简单游 什么是按键宝典? 按键宝典是兄弟工作组提供给用户的帮助大全,包含使用手册、经典脚本、各种动画教程等等。上网看按键宝典 什么是按键小精灵?

游戏辅助制作教程:用按键精灵如何确定人物朝向(以剑灵自动寻路为例)

游戏辅助制作教程:用按键精灵如何确定人物朝向(以 剑灵自动寻路为例) 来源:按键学院【按键精灵】按键学院实战班前段时间沸沸扬扬的讲解着自动寻路教程。今天,咱也来跟大家分享分享,实战班自动寻路思路之——确定人物朝向(箭头的方向角度)。 不少网络游戏已经支持自动寻路,玩家只需要设定终点后,游戏人物即可自动寻路,但是碰到某些未自带自动寻路功能的游戏,就呵呵呵了…… 院刊今天跟大家分享两款热门游戏的人物朝向判定~~知道了人物朝向,再知道目标的朝向,不就知道怎么自动寻路了嘛~ 按键学院实战班的07老师整理了自动寻路的三要素,给大家分享: 自动寻路一般需要确定三个要素: 确定路线 确定朝向 确定位置 确定了人物位置和物品位置,再确定了人物的朝向,与目标路线。将人物转向目标就可以用脚本实现自动寻路的功能。 剑灵模式的地图的寻路:游戏画面右上角有小地图,地图中灰白色箭头代表人物。

三角函数知识: 斜率:已知A、B点坐标,求直线AB的斜率。 斜率公式k=(y1-y2)/(x1-x2),即两个坐标纵坐标之差,除以两个坐标横坐标之差。正切函数:正切函数是直角三角形中,对边与邻边的比值。 在上图中,即tanα=b/a=(y2-y1)/(x2-x1)。在按键精灵中为Tan函数。

通过公式对比,我们可以知道,直线AB的斜率,即角α的正切值 角度:已知角α的正切值,我们可以通过反三角函数公式,来计算这个角度的值。 α=arctan(k)。在按键精灵中为Atn函数。 反三角函数:即相对应的正弦、余弦、正切、余切为x的角。 如何实现箭头角度计算: 从上面的三角函数知识拓展中,我们知道,要计算一个角度,可以通过计算该角度的正切值,再通过反三角函数来求这个角度。 那么,在按键精灵的代码中如何实现呢? 思路: 1. 通过找图找色命令,找到箭头顶部A的坐标,以及箭头底部中间B的坐标。 2. 构建直角三角形。确定箭头的指向的角度α。 3. 通过斜率/正切函数,来计算角度α的正切值。 4. 通过反三角函数,来得出角α的角度值。 代码实现: ‘在剑灵右上角的小地图里找色/找图,箭头坐标存储在(x1,y1),箭尾坐标存储在(x2,y2) FindColor1200,0,1920,300,"箭头颜色",x1,y1 If x1 > 0 And y1> 0 Then End If FindColor1200,0,1920,300,"箭尾颜色",x2,y2 If x1 > 0 And y1> 0 Then End If '计算斜率/正切值 斜率= (y1 - y2) / (x1 -x2)

能真正后台运行的按键精灵代码支持最小化和切换窗口

能真正后台运行的按键精灵代码支持最小化和切换窗口能真正后台运行的按键精灵代码是附2,详细应用是附3.均可直接复制使用. 主题:按键精灵切换窗口最小化后台运行游戏 1、游戏句柄 后台的意思就是当窗口被遮盖或移开的时候,仍能够正常的执行脚本动作,所以必须先找到该游戏的窗口句柄,这样可以保证我们编辑的脚本 语句有正确的使用方向,获取窗口句柄的方法有很多,我一般使用以下的方法: Dim hwnd Plugin hwnd=Window.MousePoint() Plugin是调用插件命令,凡是调用插件都需要使用这个命令,hwnd就是得到的句柄,Window是插件的名称MousePoint()返回鼠标所在的窗口 的句柄 关于窗口这里需要多说几句,以网页游戏为例,鼠标放在标题栏上和放在游戏窗口所得到的句柄是不一样的,游戏窗口是IE的一个子窗口,因 此在运行脚本前,将你的鼠标放在游戏窗口的区域内再运行脚本。 得到句柄费函数很多,有兴趣的自己去试试看,不过知道一个就足够了。 2、模拟动作 得到窗口句柄后,你就可以向这个窗口模拟需要的动作了,在这里要用到按键精灵7的插件(既然已经有7了以前的插件就不作介绍了),模拟 动作的函数有如下几个 -模拟鼠标点击 Plugin Bkgnd.LeftClick(句柄,横坐标,纵坐标) //模拟鼠标左键点击 Plugin Bkgnd.RightClick(句柄,横坐标,纵坐标) //模拟鼠标右键点击 其中的句柄就是上面我们已经得到的句柄,这里的横坐标和纵坐标是针对游戏窗口,而不是针对屏幕的(看晕了吧^_^关于这一点足足困扰了 我一个礼拜的时间才弄明白)。 屏幕坐标,是以屏幕左上角为基点(0,0),右下角的坐标是和屏幕分辨率有关的,而窗口坐标,不是在屏幕的左上角,例如word中的编辑

按键精灵使用方法

“按键精灵”是一款全新概念的键盘鼠标动作模拟软件,它可以借助预先定制好的成百上千种动作脚本实现各种形式键盘鼠标动作的完美模拟或替代,用户几乎不需要什么专业脚本语言知识即可通过软件所独创的脚本模板来定制脚本、调用和运行特定脚本,从而快速实现键盘鼠标动作的“复制”。这款软件最大的本领之一就是可以几乎模拟所有的键盘鼠标动作,比如用户定制一个论坛注册ID的动作脚本,则软件就可以在各个指定的论坛为用户自动注册新用户ID,用户既不需要通过鼠标点选在各个论坛间切换,也不需要手工输入注册信息,是不是极大的节省了用户的操作时间?又是不是最大程度的降低了键盘鼠标的使用损耗呢? 一、小试身手,看看这软件能干啥 “按键精灵”既然能够代替用户进行各种各样的电脑操作,那么我们就不妨来亲身进行一番验证。打开软件(如图1),在它的主界面中用户可以看到软件已经将其内置的上百个现成的动作脚本按照日常应用、网络游戏、鼠标右键点我和脚本技巧等用途类别进行了归类,这样当然是方便用户的查找和用户日常对动作脚本的管理。

图1:新版“按键精灵”的主界面 接下来我们随便挑选一个动作脚本,比如“日常应用”中内置的一个叫做“QQ消息群发器”的动作脚本,这是一个可以自动向特定QQ好友连续群发消息的动作脚本。用户首先在QQ软件中打开对方好友的聊天窗口,接着将“按键精灵”切换到“日常应用”面板(如图2)。 图2:软件的“日常应用”面板

选中那个“QQ消息群发器”的目标动作脚本,随后按下软件默认的启动动作脚本快捷键F10,则软件即可自动按照该动作脚本预先定制好的群发内容和每一句消息发送之间的时间间隔来群发消息,而用户呢?可以在一旁端着咖啡偷着乐吧。事实上,软件内置的这个动作脚本,就是每隔1秒钟,自动向对方QQ 好友发送一句李白的“静夜思”的诗句(如图3)。 图3:在QQ聊天窗口自动群发消息 应用提示:针对这个动作脚本,如果用户想修改一下自动发送消息的内容或调整一下每个句子间发送

相关文档
相关文档 最新文档