按键精灵教程

按键精灵教程
按键精灵教程

变量!神奇的小柜子

变量就是会变化的量。就像一个小柜子,我们可以在柜子里装载不同的东西,而当我们需要找到这些东西的时候,只要记住柜子的名字就可以了。

使用变量的方法是:先定义(给柜子起名)、再赋值(将物品放进柜子)、最后使用(根据柜子名字找到放在其中的物品)。

使用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

b=100

While a<=b

SayString a

KeyPress 13,1

VBS a=a+1

EndWhile

上面这个例子我们使用了2个变量,a和b。

条件判断!是与否的选择

给出一个条件,让按键精灵进行判断,根据判断的结果执行不同的脚本,这就是“是”与“否”的选择。

下面针对上图着重解释一些相关概念:

?表达式:点击这里查看表达式的解释

?取值为真:表达式的计算结果是真。

?执行后面的语句:就是按键精灵执行判断语句之后,“条件结束”之前的语句,这也是我们要求按键精灵判断的目的所在。

?循环执行:就是按键精灵重复执行判断语句之后,“循环执行”之前的语句。当条件不再满足时,就不再执行循环中的名字。循环中间的一条或多条语句被称为“循环体”。

整个语句连起来可以读成:如果表达式xxx为真(成立),那么就执行后面的语句(循环执行)。

例子:用条件判断来执行不同的脚本

Dim a,b

a=10

b=10

If a=b

MessageBox "a等于b"

EndIf

上面这个例子,我们定义了2个变量a和b。并且给a和b分别赋值。If命令就是条件判断命令,如果a=b,那么就会弹出一个窗口。如果我们修改a=20,b=10,那么a=b就是不正确的,也就不会弹出对话框。

颜色判断!借我一双眼睛

人有一双眼睛,可以通过屏幕的提示来操作电脑。按键精灵的脚本也有这么一双眼睛,那就是使用颜色判断功能,看到屏幕上的点的颜色。

下面我们用一个例子来一步步教你用颜色判断命令制作一个自动补血的脚本。

例子:自动补血脚本(热血江湖)

//F3红,F4蓝

VBS hong=70

//血量少于百分之多少(可自行设定)时,脚本自动吃红。

VBS lan=30

//蓝少于百分之多少(可自行设定)时,脚本自动吃蓝。

Rem start

Delay 32

//如果启动脚本后有点卡,则视情况调整此延时。

Rem 补红

IfColor hong*1.28+21 5 4a5373 2

//如果设定位置处的颜色大约等于没血时的颜色

KeyPress 114 1

//按键F3

Delay 256

EndIf

Rem 补蓝

IfColor lan*1.28+21 18 734b4a 2

//如果设定位置处的颜色大约等于没蓝时的颜色

KeyPress 115 1

//按键F4

Delay 256

EndIf

具体步骤及方法:

1.首先在游戏中截个图,然后用按键精灵的抓点坐标/颜色按钮来选取血条中颜色比较鲜艳以及稳定的颜色条来,这个颜色条一般都在血条的边缘位置,如热血江湖就是在血条的上边缘处,我们确定这个边缘颜色条的一个纵坐标为y=5,如例,以后的取点抓色,则都在这一纵坐标下进行;

2.让自己掉一部分血,再截个图下来。接下来就是颜色判断语句的选取了,众所周知,3D的游戏颜色一般都会有点变化,如果用“不等于血条颜色”来判断,则很容易出错,所以选择“如果颜色大约等于,则”这个判断语句会比较稳定一点。具体为:

IfColor x 5 “没血时的颜色” 2

//如果(x,5)点的颜色大约等于没血时的颜色

3.没血时的颜色怎样确定?3D游戏里,多半这个没血时的颜色也会不一样的,所以我们要多取几个点,然后求出这几个点的平均颜色值来。很幸运,我们在热血江湖里纵坐标y=5下血条中没血的横坐标上各取几个点后发现,它们的颜色只有两种:525573和4a5173,所以我们很容易求出了这个没血的平均颜色值:4a5373。则判断语句变为:IfColor x 5 “4a5373” 2

4.判断语句,颜色,以及纵坐标都已经确定了,那还有横坐标呢?别急,这个就是把抓色版做成%比加血设置的关键了。同样可以用按键精灵的抓点坐标/颜色按钮功能来找坐标。我们找到热血江湖中血条的最左端横坐标为

x1=21,最右端横坐标为x2 =149。则血条的长度为L=x2-x1=128。说到这里,大概大家都明白应该怎么设置%比加血了吧。没错,就是用你想要自动加血时的血量%比值变量hong%,乘以血条的总长度L,再加上血条最左端的横坐标x1,就得到了按键精灵监测血量所抓色点的横坐标x的值:

x=hong/100*L+x1=hong*1.28+21,至此,%比吃红的颜色判断语句已经确定:

IfColor hong*1.28+21 5 4a5373 2

5.整理一下,我们就得到了能%比补红设置的完整脚本了:

VBS hong=70

//血量少于百分之多少(可自行设定)时,脚本自动吃红。

Rem 补红

IfColor hong*1.28+21 5 4a5373 2

//如果设定位置处的颜色大约等于没血时的颜色

KeyPress 114 1

//按键F3

Delay 256

EndIf

至于补蓝的%比设置,当然是同理操作了。OK,现在大家都明白怎么做了吧,那就赶快行动起来,亲自做个属于自己的脚本来,只有实践,才是学习的最佳捷径哦!

找图找色!眼与脑的结合

上一课我们介绍了颜色判断,这一课我们来介绍更聪明的功能,找图和找色。顾名思义,找图是在屏幕上查找指定的图像,而找色就是查找指定的颜色。

找图功能是“按键精灵VBS命令”里的FindPic命令(很抱歉还没有把这个功能做成界面操作的方式,大家只能人工去填写参数了)

使用找图功能的步骤

一、抓图:把你想要找的图片抓下来保存为BMP格式

1.进入脚本编辑器,点击抓点抓色按钮

2.到你希望抓图的界面上按下PrintScreen(就是系统的抓图热键)

3.返回按键精灵的界面,这时会看到你刚才的抓图已经出现在抓图界面当中。

4.拖动鼠标左键将你想要找的图片区域选中,松开左键后会出现一个菜单,选择“保存为位图文件”这样你需要查找的图片就制作完成了。

二、找图:使用FindPic命令进行找图

VBSCall FindPic(left,top,right,bottom,filename,similar,x,y)

在区域内从左到右,从上到下找文件名为filename的bmp文件,把找到的坐标保存在变量x和y中

left,top,right,bottom都是整数或者整数型变量,说明了区域的左,上,右,下界限filename是一个bmp格式的图片,需要您自己抓取,最好是24位,把边缘都设为单一的颜色similar为相似度,取0.5到1之间的小数。数值越大,对图片的相似度要求越严格,速度也越快。推荐取0.9如果没有找到图片,则x和y的值都被置为-1推荐使用周围颜色单一的图片

例子:

VBSCall FindPic(0,0,1023,767,"1.bmp",0.9,x,y)

If x>=0 and y>=0

MoveTo x y

EndIf

在区域(0,0,1023,767)中找与文件1.bmp中的图形比较接近的地方,如果找到,则把鼠标移动到这个地方。

特别提醒:6.30版之后,找图的文件路径可以直接引用附件中的图片,不需要释放,例子:

VBSCall FindPic(0,0,1023,767,"Attachment:\1.bmp",0.9,x,y)

找色功能的技巧

找色功能相对简单一些,在“按键精灵VBS命令”里提供了3个找色命令FindColor、FindCenterColor和

命令名:Open

作用:打开一个控制台窗口。参数:无。返回值:无。

例子:

Plugin Console.Open()

Plugin Console.WriteLine("请随意输入几个字,然后按回车" & vbcrlf)

Plugin userInput=Console.ReadLine()

Plugin Console.WriteLine("您的输入是" & userInput & vbcrlf)

Plugin Console.WriteLine("演示脚本结束,请按下Y键,退出控制台" & vbcrlf)

Rem WaitUserInputKey

Plugin userInput=Console.WaitKey()

If userInput = asc("y") or userInput = asc("Y")

Plugin Console.Close()

Else

Goto WaitUserInputKey

EndIf

命令名:Close

作用:关闭控制台窗口。参数:无。返回值:无。例子:参见Open的例子。

命令名:ReadLine

作用:从控制台读取一行字符串。参数:无。返回值:字符串型。返回用户输入的字符串。例子:参见Open的例子。命令名:WriteLine

作用:向控制台写入一行字符串。参数:字符串型,需要写入的字符串。返回值:无。例子:参见Open的例子。

命令名:WaitKey

作用:等待用户在控制台的按键。参数:无。返回值:用户按下的键盘字符。

作用:判断文件或文件夹是否存在。参数:字符串型。要判断的文件或者文件夹的全路径。返回值:整数型。返回值为0表示文件或文件夹不存在;返回值为1表示存在该文件,返回值为2表示存在该文件夹。

例子:

path="C:/windows"

Plugin isBeing=File.ExistFile(path)

MessageBox "您所选择的目录或者文件夹的状态是:" & isBeing

命令名:SelectDirectory

作用:弹出选择文件夹的对话框,并得到用户选择的文件夹。参数:无。

返回值:字符串型。返回用户所选择的文件夹的全路径。

例子:

dim dirPath

Plugin dirPath=File.SelectDirectory()

MessageBox "您所选择的目录是:" & dirPath

命令名:SelectFile

作用:弹出选择文件的对话框,并得到用户选择的文件。参数:无。

返回值:字符串型。返回用户所选择的文件的全路径。

例子:

dim filepath

Plugin filepath=File.SelectFile()

MessageBox "您所选择的文件是:" & filepath

命令名:CopyFile

作用:复制一个文件。参数:1字符串型,要复制的文件的全路径 2字符串型,要复制的目标文件的全路径。

返回值:无

例子:

dim filepath

Plugin filepath=File.SelectFile()

Plugin File.CopyFile(filepath,"c:/1.txt")

MessageBox "您所选择的文件被拷贝到C盘根目录下的1.txt"

VBSCall RunApp("C:/")

命令名:MoveFile

作用:移动一个文件。

参数:1字符串型,要移动的文件的全路径 2字符串型,要移动的目标文件的全路径。返回值:无。

说明:用这个命令,也可以给文件改名

例子:

dim filepath

Plugin filepath=File.SelectFile()

Plugin File.MoveFile(filepath,"c:/1.txt")

MessageBox "您所选择的文件被移动到C盘根目录下的1.txt"

VBSCall RunApp("C:/")

命令名:DeleteFile

作用:删除一个文件。参数:字符串型,要删除的文件的全路径。返回值:无。

例子:

dim filepath

Plugin filepath=File.SelectFile()

Plugin File.DeleteFile(filepath)

MessageBox "您所选择的文件已被删除"

命令名:ReadINI

作用:从一个INI文件中读出一个字符串。

参数:1要读的小节的名称。一般在INI文件中用方括号括起来 2要读的键名。如x=123,等号前面的部分就是键名 3INI文件的路径。

返回值:字符串型。读出的指定小节和键下面的内容。

例子:

dim value

Plugin File.WriteINI("小节名","键名","键名值","C:/qmtest.ini")

Plugin value=File.ReadINI("小节名","键名","C:/qmtest.ini")

MessageBox "键名为:" & value

命令名:WriteINI

作用:往一个INI文件中写入一个字符串。

参数:1要写的小节的名称。一般在INI文件中用方括号括起来 2要写的键名。如x=123,等号前面的部分就是键名 3要写的内容,用字符串表示 4INI文件的路径。返回值:无。

例子:参见ReadINI的例子

命令名:OpenFile

作用:打开一个文件,以备读写使用。参数:字符串型。表示要打开的文件的全路径。

返回值:整数型。返回值为-1表示打开文件失败,否则返回文件的句柄。

例子:

path = "stdlib.vbs"

Plugin fileHandle=File.OpenFile(path)

Plugin file20byte=File.ReadFile(fileHandle,20)

Plugin fileline=File.ReadLine(fileHandle)

Plugin File.CloseFile(fileHandle)

MessageBox "读取" & path & "文件20个长度内容是:" & file20byte

MessageBox "读取" & path & "文件一行长度内容是:" & fileline

命令名:CloseFile

作用:关闭一个已经打开的文件。文件关闭后,其句柄不再有效。

参数:整数型。表示要关闭的文件的句柄。返回值:无。

例子:参见OpenFile的例子

命令名:ReadFile

作用:从文件当前的读写位置读取一定长度的内容。

参数:1整数型。表示要读取的文件的句柄 2整数型,表示要读取的长度。

返回值:字符串型,读出的内容。

例子:参见OpenFile的例子

命令名:ReadLine

作用:从文件当前的读写位置读一行内容。参数:整数型,要读取的文件的句柄。返回值:字符串型,读出的内容。例子:参见OpenFile的例子

命令名:WriteFile

作用:往文件当前读写位置写入一个字符串。

参数:1整数型。表示要写入的文件的句柄 2 字符串型,表示要写入的内容。返回值:无。

例子:

Plugin handle=File.OpenFile("..\\按键精灵升级说明.txt")

Plugin fileLen=File.GetFileLength(handle)

MessageBox "文件长度是:" & fileLen

Plugin File.SeekFile(handle,fileLen-1)

Plugin File.WriteFile(handle,"123456")

Plugin File.WriteLine(handle,"abcdef")

Plugin File.CloseFile(handle)

VBSCall RunApp("..\\按键精灵升级说明.txt")

命令名:WriteLine

作用:同WriteFile,但会多写入一个回车换行符号。参数:同WriteFile。返回值:无。

例子:参见WriteFile

命令名:SeekFile

作用:设置文件的当前读写位置。

参数:1整数型。表示要进行操作的文件的句柄 2整数型,表示要设置的读写位置,以相对于文件头的字节数计算。返回值:无。

例子:参见WriteFile

命令名:GetFileLength

作用:得到文件的长度。参数:整数型。表示要进行操作的文件的句柄。返回值:整数型。表示文件的长度。

命令名:GetOSType

作用:获取当前操作系统类型。参数:无。返回值:整数型。Win98系统返回为0;WinNT/2000/XP返回为1。

例子:

Plugin s=GetSysInfo.GetOSType()

If s="1"

MessageBox "您的操作系统版本是2000/XP"

Else

MessageBox "您的操作系统版本是98"

EndIf

Plugin s=GetSysInfo.GetScreenResolutionX()

MessageBox "您的当前屏幕分辨率宽度:" & s

Plugin s=GetSysInfo.GetScreenResolutionY()

MessageBox "您的当前屏幕分辨率高度:" & s

Plugin s=GetSysInfo.GetColorDep()

MessageBox "当前屏幕色彩深度:" & s

Plugin s=GetSysInfo.GetTime()

xs=int(s/1000/60/60)

fz=int(s/1000/60)-xs*60

m=cint(s/1000)-fz*60-xs*60*60

MessageBox "您的操作系统从启动到目前的时间:" & xs & "小时" & fz & "分钟" & m & "秒" Plugin s=GetSysInfo.GetDateTime()

MessageBox "您的操作系统日期和时间:" & s

Plugin s=GetSysInfo.GetHDDSerialNumber()

MessageBox "您的硬盘序列号是:" & hex(s)

命令:GetScreenResolutionX

作用:获取当前屏幕分辨率宽度。参数:无。返回值:整数型。返回当前屏幕的宽度。

例子:参见GetOSType的例子

命令:GetScreenResolutionY

作用:获取当前屏幕分辨率宽度。参数:无。返回值:整数型。返回当前屏幕的宽度。

例子:参见GetOSType的例子

命令:GetColorDep

作用:获取当前屏幕色深度(颜色质量)。参数:无。

返回值:整数型。返回当前屏幕的色深度(颜色质量),一般为4,8,16,24或32。

例子:参见GetOSType的例子

命令:GetTime

作用:得到系统启动到目前的时间。参数:无。

返回值:整数型。以毫秒表示的系统启动到目前的时间。

说明:一般用两次调用GetTime命令的结果相减,可以得到两次调用的时间差。

例子:参见GetOSType的例子

命令:GetDateTime

作用:得到当前系统日期和时间。参数:无。

返回值:字符串型。返回当前系统日期和时间,如“2006-05-20 15:27:31”

例子:参见GetOSType的例子

命令:GetHDDSerialNumber

作用:得到硬盘第一个分区的序列号。参数:无。返回值:整数型。返回硬盘第一个分区的序列号。

命令名:SetProcessLive

用途:设置一个进程的优先级。

参数1:窗口句柄,如果该参数输入 -1则代表当前进程。

参数2:进程等级,取值范围 1 - 6,其中 3 为标准级别。

返回值:如果设置成功会返回1 否则返回0。

命令名:GetProcessLive

用途:获得一个进程的优先级。

参数1:窗口句柄,如果该参数输入 -1则代表当前进程。

返回值:如果获得成功返回该进程的优先等级,否则返回0;

命令名:Read8Bit

用途:根据地址读取 8 位数值。参数1:窗口句柄。参数2:内存地址。

返回值:读取成功返回该地址的值否则为 0。

命令名:Read16Bit

用途:根据地址读取 16 位数值。参数1:窗口句柄。参数2:内存地址。

返回值:读取成功返回该地址的值否则为 0。

命令名:Read32Bit

用途:根据地址读取 32 位数值。参数1:窗口句柄。参数2:内存地址。

返回值:读取成功返回该地址的值否则为 0。

命令名:ReadSingle

用途:根据地址读取 32 位浮点数值(即VB的Single型)。参数1:窗口句柄。参数2:内存地址。返回值:读取成功返回该地址的值否则为 0。

命令名:ReadDouble

用途:根据地址读取 64 位浮点数值(即VB的Double型)参数1:窗口句柄。参数2:内存地址。返回值:读取成功返回该地址的值否则为 0。

命令名:ReadString

用途:根据地址读取指定长度的字符串。

参数1:窗口句柄。参数2:内存地址。参数3:读取长度。

返回值:读取成功返回该地址的字符串否则为 0。

命令名:ReadBinary

用途:根据地址读取指定长度的二进制数据。

参数1:窗口句柄。参数2:本地内存地址。参数3:内存地址。参数4:读取长度。

返回值:读取成功返回该地址的字符串否则为 0。

命令名:Find8Bit

用途:搜索指定值并返回该值的地址,8 位值比较。

参数1:窗口句柄。参数2:要匹配的值。参数3:起始地址。参数4:中止地址。

参数5:移动步长,改值要大于等于 1。

返回值:读取成功返回该地址的值否则为 0。

命令名:Find16Bit

用途:搜索指定值并返回该值的地址,16 位值比较。

参数1:窗口句柄。参数2:要匹配的值。参数3:起始地址。参数4:中止地址。

参数5:移动步长,改值要大于等于 1。返回值:读取成功返回该地址的值否则为 0。

命令名:Find32Bit

用途:搜索指定值并返回该值的地址,32 位值比较。

参数1:窗口句柄。参数2:要匹配的值。参数3:起始地址。参数4:中止地址。

参数5:移动步长,改值要大于等于 1。返回值:读取成功返回该地址的值否则为 0。

命令名:FindString

用途:搜索指定值并返回该值的地址,字符串比较。

参数1:窗口句柄。参数2:要匹配的值。参数3:起始地址。参数4:中止地址。

参数5:移动步长,改值要大于等于 1 。返回值:读取成功返回该地址的值否则为 0。

用途:FindBinary

用途:搜索指定值并返回该值的地址,字符串比较。

参数1:窗口句柄。参数2:本地内存地址。参数3:匹配二进制的长度。参数4:起始地址。参数5:中止地址。

参数6:移动步长,改值要大于等于 1 。返回值:读取成功返回该地址的值否则为 0。

作用:得到当前鼠标指向的窗口。参数:无。返回值:整数型。当前鼠标指向的窗口的窗口句柄。

例子:

Plugin hwnd=Window.MousePoint()

MessageBox "当前鼠标下的窗口句柄为:" & hwnd

命令名:Foreground

作用:得到目前位于前台的窗口。参数:无。返回值:整数型。当前位于前台的窗口的窗口句柄。

例子:

Plugin hwnd=Window.Foreground()

MessageBox "当前激活窗口的句柄为:" & hwnd

命令名:Find

作用:根据一个窗口类名或一个窗口标题名,找到一个匹配的窗口。

参数:1窗口类名,字符串型 2窗口标题名,字符串型。

返回值:整数型。第一个匹配的窗口的窗口句柄。

说明:窗口类名和窗口标题名中可以有一个是空字符串(不能两个同时为空字符串)

例子:

VBSCall RunApp("notepad.exe")

Delay 100

Plugin hwnd=Window.Find("Notepad",0)

Plugin subhwnd=Window.FindEx(hwnd,0,0,0)

Plugin Window.SendString(subhwnd,"当前记事本的句柄:" & hwnd & vbcrlf & "当前输入框的句柄:" & subhwnd) 命令名:FindEx

作用:指定父窗口或者兄弟窗口,根据一个窗口类名或一个窗口标题名,找到匹配窗口。

参数:1父窗口的句柄,整数型。为0表示不限制父窗口 2兄弟窗口的句柄,整数型。为0表示不限制兄弟窗口 3

窗口类名,字符串型 4窗口标题名,字符串型。

返回值:整数型。第一个匹配的窗口的窗口句柄。

例子:参见Find的例子

命令名:IsWindow

作用:判断指定窗口是否存在。参数:整数型。指定的窗口句柄。

返回值:整数型。返回值为0表示该窗口不存在,为1表示该窗口存在。

例子:

Plugin hwnd=Window.MousePoint()

Plugin ishwnd=Window.IsWindow(hwnd)

MessageBox ishwnd

If ishwnd = 1

MessageBox "有效句柄"

Else

MessageBox "无效句柄"

EndIf

命令名:GetText

作用:得到指定窗口的标题。参数:整数型。指定的窗口句柄。返回值:字符串型。返回指定窗口的标题。

例子:

VBSCall RunApp("notepad.exe")

Delay 100

Plugin hwnd=Window.Foreground()

Plugin wtext=Window.GetText(hwnd)

MessageBox "记事本的窗体标题是:" & wtext

Plugin wclass=Window.GetClass(hwnd)

MessageBox "记事本的窗体类是:" & wclass

Plugin path=Window.GetExePath(hwnd)

MessageBox "记事本的路径是:" & path

Plugin rect=Window.GetClientRect(hwnd)

MessageBox "记事本的客户区大小是:" & rect

Plugin wrect=Window.GetWindowRect(hwnd)

MessageBox "即使本的窗体大小是:" & wrect

命令名:GetClass

作用:得到指定窗口的窗口类名称。参数:整数型。指定的窗口句柄。

返回值:字符串型。返回指定窗口的窗口类名。

例子:参见GetText的例子

命令名:GetExePath

作用:得到指定窗口所属的程序路径。参数:整数型。指定的窗口句柄。

返回值:字符串型。返回指定窗口所属的程序的全路径。

例子:参见GetText的例子

命令名:GetClientRect

作用:得到指定窗口的边框大小。参数:整数型。指定的窗口句柄。

返回值:字符串型。返回指定窗口的窗口边框大小,格式类似于x1|y1|x2|y2。其中x1、y1、x2、y2分别为窗口左上点和右下点的坐标。

例子:参见GetText的例子

命令名:GetWindowRect

作用:得到指定窗口的小。参数:整数型。指定的窗口句柄。

返回值:字符串型。返回指定窗口的大小,格式类似于x1|y1|x2|y2。其中x1、y1、x2、y2分别为窗口左上点和右下点的坐标。

例子:参见GetText的例子

命令名:Active

作用:激活指定的窗口。参数:整数型。指定的窗口句柄。返回值:无。

例子:

VBSCall RunApp("notepad.exe")

Delay 100

Plugin hwnd=Window.Foreground()

MessageBox "激活记事本窗口"

Plugin Window.Active(hwnd)

MessageBox "最大化记事本窗口"

Plugin Window.Max(hwnd)

MessageBox "最小化记事本窗口"

Plugin Window.Min(hwnd)

MessageBox "恢复记事本窗口大小"

Plugin Window.Restore(hwnd)

MessageBox "移动记事本窗口到0,0位置"

Plugin Window.Move(hwnd,0,0)

MessageBox "关闭记事本窗口"

Plugin Window.Close(hwnd)

命令名:Max

作用:最大化指定的窗口。参数:整数型。指定的窗口句柄。返回值:无。

例子:参见Active的例子

命令名:Min

作用:最小化指定的窗口。参数:整数型。指定的窗口句柄。返回值:无。

例子:参见Active的例子

命令名:Restore

作用:恢复指定的窗口的原始大小。参数:整数型。指定的窗口句柄。返回值:无。

例子:参见Active的例子

命令名:Move

作用:移动指定的窗口,使左上角移到指定的坐标。

参数:1指定窗口的句柄,整数型。2 3 分别为指定的x和y坐标,整数型。返回值:无。例子:参见Active的例子

命令名:Close

作用:关闭指定的窗口。

参数:整数型。指定的窗口句柄。返回值:无。

例子:参见Active的例子

命令名:GetKeyFocusWnd

作用:获取当前键盘焦点的窗口句柄。参数:无。

返回值:整数型。当前键盘输入焦点所在的窗口的窗口句柄。

例子:

VBSCall RunApp("notepad.exe")

Delay 100

Plugin hwnd=Window.GetKeyFocusWnd()

Plugin Window.SendKeyUp(hwnd,asc("A"))

Plugin Window.SendKeyDown(hwnd,asc("A"))

Plugin Window.SendKeyPress(hwnd,asc("B"))

命令名:SendKeyUp

作用:发送键盘弹起的消息。参数:1目标窗口的句柄。2按键码。返回值:无。

例子:参见GetKeyFocusWnd的例子

命令名:SendKeyDown

作用:发送键盘按下的消息。参数:1目标窗口的句柄。2按键码。返回值:无。

例子:参见GetKeyFocusWnd的例子

命令名:SendKeyPress

作用:发送键盘按键的消息。注意在后台窗口时候,此函数会按2次。参数:1目标窗口的句柄。2按键码。

返回值:无。例子:参见GetKeyFocusWnd的例子

命令名:SendString

作用:发送字符串消息。参数:1目标窗口的句柄。2需要发送的字符串。返回值:无

作用:后台取色。参数:(窗口句柄,横坐标,纵坐标)横坐标和纵坐标使用的是窗口的客户区坐标。

返回值:返回值是颜色值的十六进制字符串。

例子:在"脚本技巧"分类里有完整例子

//下面这句取窗口句柄是变量hwnd的窗口的客户区坐标(10,50)处的颜色

Plugin Color=BkgndColor.GetPixelColor(hwnd,10,50)

命令名:FindColor

功能:后台区域找色。

参数:(窗口句柄,区域左上角横坐标,区域左上角纵坐标,区域右下角横坐标,区域右下角纵坐标,十六进制颜色值)区域坐标使用的是窗口客户区坐标,颜色值是十六进制字符串。

返回值:找到的符合条件的点的窗口客户区坐标,返回值的格式是:横坐标|纵坐标,如果找不到符合条件的点则返回:-1|-1。

例子:在"脚本技巧"分类里有完整例子

//下面这句按从左到右,从上到下的顺序查找窗口句柄是变量hwnd的窗口的指定的矩形区域内指定的颜色

Plugin XY=BkgndColor.FindColor(hwnd,0,0,700,550,"FF0000")

//下面这句用于分割字符串,将横坐标和纵坐标分成两个字符串

MyArray=Split(XY,"|",-1,1)

//下面这句将字符串转换成数值

x=CInt(MyArray(0)):y=CInt(MyArray(1))

命令名:FindCenterColor

功能:从中间开始找色。

参数:(窗口句柄,区域左上角横坐标,区域左上角纵坐标,区域右下角横坐标,区域右下角纵坐标,十六进制颜色值)区域坐标使用的是窗口客户区坐标,颜色值是十六进制字符串。

返回值:返回值是找到的符合条件的点的窗口客户区坐标,返回是:横坐标|纵坐标,如果找不到符合条件的点则返回:-1|-1。

例子:在"脚本技巧"分类里有完整例子

//下面这句按从中间到四周的顺序查找窗口句柄是变量hwnd的窗口的指定的矩形区域内指定的颜色

Plugin XY=BkgndColor.FindCenterColor(hwnd,0,0,700,550,"FF0000")

//下面这句用于分割字符串,将横坐标和纵坐标分成两个字符串

MyArray=Split(XY,"|",-1,1)

//下面这句将字符串转换成数值

x=CInt(MyArray(0)):y=CInt(MyArray(1))

命令名:FindColorEx

功能:模糊找色。

参数:(窗口句柄,区域左上角横坐标,区域左上角纵坐标,区域右下角横坐标,区域右下角纵坐标,十六进制颜色值,

查找类型,颜色相似度)区域坐标使用的是窗口客户区坐标;颜色值是十六进制字符串;查找类型:0是按从左到右,从上到下的顺序找色,1是从中间到四周的顺序找色;颜色相似度:取值范围是0.0到1.0,1.0是最相似

返回值:找到的符合条件的点的窗口客户区坐标;返回格式是:横坐标|纵坐标;如果找不到符合条件的点则返回:-1|-1。

例子:在"脚本技巧"分类里有完整例子

//下面这句按从中间到四周的顺序模糊查找窗口句柄是变量hwnd的窗口的指定的矩形区域内指定的颜色

Plugin XY=BkgndColor.FindColorEx(hwnd,0,0,700,550,"00FFFF",0,0.9)

//下面这句用于分割字符串

MyArray=Split(XY,"|",-1,1)

//下面这句将字符串转换成数值

x=CInt(MyArray(0)):y=CInt(MyArray(1))

本文档由兄弟工作组制作完成,部分内容摘自因特网公开的文档资料,欢迎您和我们一起完善此文档。兄弟工作组网站:https://www.360docs.net/doc/1613496413.html,

学习游戏脚本制作:按键精灵里的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

按键精灵教程

变量!神奇的小柜子 变量就是会变化的量。就像一个小柜子,我们可以在柜子里装载不同的东西,而当我们需要找到这些东西的时候,只要记住柜子的名字就可以了。 使用变量的方法是:先定义(给柜子起名)、再赋值(将物品放进柜子)、最后使用(根据柜子名字找到放在其中的物品)。 使用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”。

学习网络游戏找 怪 的思路方法(按键精灵脚本技术)

学习网络游戏找怪的思路方法(按键精灵脚本技术) 很多朋友都不知道如何在游戏中用按键精灵找怪物 请看下面哦 对一些找怪的思路小有体会。简单来说找怪就是找怪与背景不同的独有的特征,可以通过找怪的颜色/图片、怪名字颜色/图片、怪血条颜色/图片、渐开线扫描、小地图找怪等等的方法来实现。具体看游戏而定,下面就介绍几种找怪的方法: 1。区域找色应该说是最简单的找怪方法了,在区域里查找怪的特有颜色、名字颜色、血条颜色、怪的阴影等等。如果找到移动鼠标到怪身上进行攻击(推荐用区域模糊找色或从区域中间向外找色)。 例子(区域模糊找色): VBSCall FindColorEx(0,0,1024,768,\"FFFFFF\",1,0.8,x,y) //区域模糊找色,0,0,1024,768为区域范围,\"FFFFFF\"为颜色,1为查找方式(中间向外),0.8为模糊值,x,y为找色后储存坐标的变量If x>=0 and y>=0 //如果找到颜色(通过判断坐标变量是否在区域内就可以知道有没有找到目标) MoveTo x y //把鼠标移动到该色的坐标(如果找的是怪名字或血条,可能移动不到怪身上,这时就要用鼠标偏移如:MoveTo x+10 y+10)

Delay 50 //延时 LeftClick 1 //左键单击进行攻击 EndIf //条件结束 用数组区域查找多色:点击查看 注: ①。区域范围的定位: 区域范围指的是被搜索区域的范围,这4个参数分别指的是区域的左,上,右,下。简单的说就是取区域的左上角x,y坐标和右下角的x,y坐标,把这4个数值依次组合起来就是一个区域范围了。 ②。很多朋友对最后两个坐标变量x,y不太了解,在这里通俗的解释一下: 顾名思义,这两个变量是用来贮存找色或找图后的坐标。当找到目标后,把目标所在的坐标位置贮存到这两个变量里,然后可以通过判断这两个坐标变量是否在区域范围内来确定是否找到了目标。如果找到目标,贮存的是目标所在的坐标位置。如果没有找到,那贮存的则是-1,所以我们也可以通过if x=-1 and y=-1 来判断没有找到目标。

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刷新网页的脚本。 第二步:设计脚本 为制作了组图来说明如何制作这个脚本。 做任何脚本都是两步:第一步先设计功能,第二步就是用按键精灵提供的命令完成这些功能。 常见问题: 什么是脚本? 脚本就是一系列可以反复执行的命令.通过一些判断条件,可以让这些命令具有一定的智能效果. 按键精灵软件如何制作脚本?

按键精灵经典教程

按键精灵经典教程 一、键盘命令(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(圆口)的键盘点击查看使用硬件

按键精灵简单教程

关于按键精灵9.0对于批量工作速度的快速提升 首先这是一个非常简单好用的工具。 新建输入文件名,写代码,点调试,按启动热键启动。 PS:关于录制,不是很好用,有兴趣也可以试试。 修改小数位: 修改小数位,先想想自己手动操作是怎么做的,每一步要做什么。1.双击位号。2弹出位号窗口。3点高级。4如果小数位前的钩没打上,你要打上,已经打上了就不能再点击,所以要判断。5双击整数位,输入数字比如3。6双击小数位,输入数字比如2。 如上所述要点4个点。但这里我要加一个点用于判断窗口有无弹出。先打开抓抓,按电脑截屏键(PrtSc)。 在抓抓中点图像,可以按1~0,这里捉到的点和 有关联,写到代码里后和代码里的是没有关联的。

鼠标移到需要点击的地方,右键点击选择加入到点”1”,点”2”..... 在这条线上取它的位置和颜色值,加入1号点在按钮上取2号点在钩的 位取3号点加入4号点加入5号点 ------------------------------------------------------割------------------------------------------------------------- 选择 代码中先加入Delay 10 延时10毫秒

将放大镜中的1号点中的值写入IfColor 中 Do while 1 IfColor 392,357, "A0A0A0", 0 Then //这里写内容 Exit Do End If Loop 这里可以选择,就是IFCOLOR命令。不过上面选了P3,下面也要记得选P3! 上面的是为了判断双击后的窗口是否弹出,弹出后我们才好进行下面的操作(当然也可以用别的方法)(代码原理:用永循环去) ------------------------------------------------------割------------------------------------------------------------- MoveTo 805, 528 LeftClick 1//点高级所在的位置 Delay 20//延时20毫秒(很重要) ------------------------------------------------------割------------------------------------------------------------- 同理将第三点写入IfColor 805, 528, "FFFFFF", 0 Then IfColor 806, 530, "FFFFFF", 0 Then //如果805,528为白色,也就是没打勾 MoveTo 806, 530 LeftClick 1//打上勾 Delay 20//延时20毫秒 END IF ------------------------------------------------------割------------------------------------------------------------- MoveTo 886,500//点整数位所在的位置 LeftDoubleClick 1//双击,相当于是全选中 KeyPress "3", 1//输入3

按键精灵图文教程

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

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

按键精灵教程:启动热键的设置技巧 来源:按键学院【按键精灵】热键设置 启动热键:启动当前脚本 暂停/继续热键:暂停或继续当前脚本。(暂停之后再继续,是从脚本暂停的位置继续向下执行,而不是重新运行脚本) 中止热键:结束当前脚本。 全部中止热键:结束所有脚本。 热键可以设置为一个单一键,例如: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、退出脚本运行演示

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

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

按键精灵使用方法

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

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

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

按键精灵游戏开发教程

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

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

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

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

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

游戏辅助制作教程:用按键精灵如何确定人物朝向(以 剑灵自动寻路为例) 来源:按键学院【按键精灵】按键学院实战班前段时间沸沸扬扬的讲解着自动寻路教程。今天,咱也来跟大家分享分享,实战班自动寻路思路之——确定人物朝向(箭头的方向角度)。 不少网络游戏已经支持自动寻路,玩家只需要设定终点后,游戏人物即可自动寻路,但是碰到某些未自带自动寻路功能的游戏,就呵呵呵了…… 院刊今天跟大家分享两款热门游戏的人物朝向判定~~知道了人物朝向,再知道目标的朝向,不就知道怎么自动寻路了嘛~ 按键学院实战班的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)

刷课神器——按键精灵使用教程

刷课神器——按键精灵使用教程 废话少说,直接进入正题。 以下教程皆以按键精灵8.20.7921版(免费版)为例。请通读全文后再开始操作。有看不懂的地方,建议询问一下他人再进行刷课……刷课有风险,操作需谨慎。 1.打开按键精灵,点击“新建”。 2.点击“源文件”,将以下代码复制到窗口中。 Dim hwnd hwnd = Plugin.Window.MousePoint() s = Plugin.Window.GetClientRect(hwnd) MyArray = Split(s, "|", -1, 1) VBS sx = MyArray(0) VBS sy = Myarray(1) i=10 While i=10 //当循环条件成立的时候,反复执行循环体 Call Plugin.Bkgnd.LeftClick(hwnd,1145-sx,385-sy) Delay 1200 a = Plugin.Window.Find(0, "来自网页的消息") Call Plugin.Window.Active(a) Call Plugin.Bkgnd.KeyPress(a,13)

Delay 300 a = Plugin.Window.Find(0, "来自网页的消息") Call Plugin.Window.Active(a) Call Plugin.Bkgnd.KeyPress(a,13) Delay 5000 Wend 然后更改右侧“描述”处的刷课脚本名称,以及启动热键与中止热键。这两个热键一定不能与浏览器或电脑自带的其他热键功能相冲突。建议采用shift+英文字母的形式。其他不会产生冲突的形式也可。 3.打开用来刷课的浏览器,打开补退选的网页,将网页窗口最大化,填入验证码。为避免误操作,建议将想要刷的课程挪到页面的上方,将网页右侧导航条滑到最上方。开始刷课后,该浏览器将不能再用作他用。切记!!! 4.最小化网页窗口,切换回按键精灵的界面,点击“抓抓” 5.再点开补退选网页界面。将鼠标移动到稍候需要刷的课程的“刷新”键上,利用“抓抓”得到该处的窗口坐标,如图,最上面一门课的“刷新”键的当前屏幕坐标为1150,414。此时网页右侧滚动条还应处在最上方,并且在刷课过程中千万不要上下滚动网页,改变滚动条的位置!!!

按键精灵教程学习笔记 内存、偏移、读取实例--附详细流程分析图

相信,通过论坛的详细找基础地址的教程,各位都可以找到需要的数据地址了,但是对于读取内存地址,肯定很多和我一样的新手,很迷茫,论坛虽然有一些经典帖子写了出来,但是很深奥,我也是一头雾水,希望通过此图,能给---仍在迷茫的你一点帮助!! ============== 第一次发帖子,有错误希望各位骨灰,指教。 ----------- 一个蹒跚起步的幼儿园小菜菜留 例子:假设基础地址为&H006633fc,偏移了3次到达动态HP内存地址, 偏移量1=&H8f4,偏移量2=&H140,偏移量3=&H4 则,按键精灵读取内存语句写法:

VBS Dim base hp addr_hp py1 py2 py3 jza jzb VBS Dim shuzhi_base shuzhi_jza shuzhi_jzb Base=&H006633fc py1=&H8f4 py2=&H140 py3=&H4 //读取内存基地址,数值存储到shuzhi_base VBSCall ReadMemory(base,2,shuzhi_base) //通过偏移1,计算一次偏移地址a

VBSCall ReadMemory(shuzhi_base+py1,2,jza) VBSCall ReadMemory(jza,2,shuzhi_jza) //通过偏移2,计算二次偏移地址b VBSCall ReadMemory(shuzhi_jza+py2,2,jzb) VBSCall ReadMemory(jzb,2,shuzhi_jzb) //通过偏移3,计算HP地址 VBSCall ReadMemory(shuzhi_jzb+py3,2,addr_hp) //读取HP值 VBSCall ReadMemory(addr_hp,2,hp) =================

相关文档
最新文档