2024年1月18日发(作者:)

Height Greedy Electronic Studio

按键精灵教程

变量!神奇的小柜子

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

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

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

第 1 页 共 14 页

Height Greedy Electronic Studio

按键精灵教程

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

第 2 页 共 14 页

Height Greedy Electronic Studio

按键精灵教程

//按键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,现在大家都明白怎么做了吧,那就赶快行动起来,亲自做个属于自己的脚本来,只有实践,才是学习的最佳捷径哦!

找图找色!眼与脑的结合

第 3 页 共 14 页

Height Greedy Electronic Studio

按键精灵教程

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

找图功能是“按键精灵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,"",0.9,x,y)

If x>=0 and y>=0

MoveTo x y

EndIf

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

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

VBSCall FindPic(0,0,1023,767,"Attachment:",0.9,x,y)

找色功能的技巧

找色功能相对简单一些,在“按键精灵VBS命令”里提供了3个找色命令FindColor、FindCenterColor和FindColorEx。大家查看一下相关命令的说明即可。

控制台黑屏操作

功能介绍:对Windows的控制台进行操作。

070110 收录进按键精灵6.10版

命令名:Open

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

例子:

Plugin ()

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

Plugin userInput=ne()

Plugin ine("您的输入是" & userInput & vbcrlf)

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

Rem WaitUserInputKey

Plugin userInput=y()

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

Plugin ()

第 4 页 共 14 页

Height Greedy Electronic Studio

按键精灵教程

Else

Goto WaitUserInputKey

EndIf

命令名:Close

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

命令名:ReadLine

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

命令名:WriteLine

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

命令名:WaitKey

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

说明:用这个命令,也可以给文件改名。例子:参见Open的例子

文件目录操作

功能介绍:对文件和目录进行读写、复制等基本操作。

070110 收录进按键精灵6.10版

命令名:ExistFile

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

例子:

path="C:/windows"

Plugin isBeing=ile(path)

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

命令名:SelectDirectory

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

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

例子:

dim dirPath

Plugin dirPath=Directory()

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

命令名:SelectFile

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

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

例子:

dim filepath

Plugin filepath=File()

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

命令名:CopyFile

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

返回值:无

例子:

dim filepath

Plugin filepath=File()

Plugin le(filepath,"c:/")

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

第 5 页 共 14 页

Height Greedy Electronic Studio

按键精灵教程

VBSCall RunApp("C:/")

命令名:MoveFile

作用:移动一个文件。

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

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

例子:

dim filepath

Plugin filepath=File()

Plugin le(filepath,"c:/")

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

VBSCall RunApp("C:/")

命令名:DeleteFile

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

例子:

dim filepath

Plugin filepath=File()

Plugin File(filepath)

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

命令名:ReadINI

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

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

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

例子:

dim value

Plugin NI("小节名","键名","键名值","C:/")

Plugin value=I("小节名","键名","C:/")

MessageBox "键名为:" & value

命令名:WriteINI

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

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

例子:参见ReadINI的例子

命令名:OpenFile

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

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

例子:

path = ""

Plugin fileHandle=le(path)

Plugin file20byte=le(fileHandle,20)

Plugin fileline=ne(fileHandle)

Plugin ile(fileHandle)

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

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

命令名:CloseFile

第 6 页 共 14 页

Height Greedy Electronic Studio

按键精灵教程

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

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

例子:参见OpenFile的例子

命令名:ReadFile

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

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

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

例子:参见OpenFile的例子

命令名:ReadLine

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

例子:参见OpenFile的例子

命令名:WriteFile

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

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

例子:

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

Plugin fileLen=eLength(handle)

MessageBox "文件长度是:" & fileLen

Plugin le(handle,fileLen-1)

Plugin ile(handle,"123456")

Plugin ine(handle,"abcdef")

Plugin ile(handle)

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

命令名:WriteLine

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

例子:参见WriteFile

命令名:SeekFile

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

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

返回值:无。

例子:参见WriteFile

命令名:GetFileLength

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

例子:参见WriteFile

获取系统信息

功能介绍:获取操作系统的一些基本信息

070110 收录进按键精灵6.10版

命令名:GetOSType

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

例子:

Plugin s=ype()

If s="1"

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

Else

第 7 页 共 14 页

Height Greedy Electronic Studio

按键精灵教程

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

EndIf

Plugin s=eenResolutionX()

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

Plugin s=eenResolutionY()

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

Plugin s=orDep()

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

Plugin s=e()

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=eTime()

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

Plugin s=SerialNumber()

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

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

例子:参见GetOSType的例子

内存读取

功能介绍:实现对计算机内存的读取操作功能。

070110 收录进按键精灵6.10版

命令名:SetProcessLive

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

第 8 页 共 14 页

Height Greedy Electronic Studio

按键精灵教程

参数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

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

第 9 页 共 14 页

Height Greedy Electronic Studio

按键精灵教程

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

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

用途:FindBinary

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

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

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

窗口操作

功能介绍:对Windows窗口行操作。

070110 收录进按键精灵6.10版

命令名:MousePoint

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

例子:

Plugin hwnd=oint()

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

命令名:Foreground

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

例子:

Plugin hwnd=ound()

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

命令名:Find

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

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

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

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

例子:

VBSCall RunApp("")

Delay 100

Plugin hwnd=("Notepad",0)

Plugin subhwnd=(hwnd,0,0,0)

Plugin ring(subhwnd,"当前记事本的句柄:" & hwnd & vbcrlf & "当前输入框的句柄:" & subhwnd)

命令名:FindEx

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

参数:1父窗口的句柄,整数型。为0表示不限制父窗口 2兄弟窗口的句柄,整数型。为0表示不限制兄弟窗口 3窗口类名,字符串型 4窗口标题名,字符串型。

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

例子:参见Find的例子

命令名:IsWindow

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

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

例子:

Plugin hwnd=oint()

Plugin ishwnd=ow(hwnd)

MessageBox ishwnd

If ishwnd = 1

第 10 页 共 14 页

Height Greedy Electronic Studio

按键精灵教程

MessageBox "有效句柄"

Else

MessageBox "无效句柄"

EndIf

命令名:GetText

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

例子:

VBSCall RunApp("")

Delay 100

Plugin hwnd=ound()

Plugin wtext=t(hwnd)

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

Plugin wclass=ss(hwnd)

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

Plugin path=Path(hwnd)

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

Plugin rect=entRect(hwnd)

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

Plugin wrect=dowRect(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("")

Delay 100

Plugin hwnd=ound()

MessageBox "激活记事本窗口"

第 11 页 共 14 页

Height Greedy Electronic Studio

按键精灵教程

Plugin (hwnd)

MessageBox "最大化记事本窗口"

Plugin (hwnd)

MessageBox "最小化记事本窗口"

Plugin (hwnd)

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

Plugin e(hwnd)

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

Plugin (hwnd,0,0)

MessageBox "关闭记事本窗口"

Plugin (hwnd)

命令名:Max

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

例子:参见Active的例子

命令名:Min

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

例子:参见Active的例子

命令名:Restore

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

例子:参见Active的例子

命令名:Move

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

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

例子:参见Active的例子

命令名:Close

作用:关闭指定的窗口。

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

例子:参见Active的例子

命令名:GetKeyFocusWnd

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

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

例子:

VBSCall RunApp("")

Delay 100

Plugin hwnd=FocusWnd()

Plugin yUp(hwnd,asc("A"))

Plugin yDown(hwnd,asc("A"))

Plugin yPress(hwnd,asc("B"))

命令名:SendKeyUp

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

例子:参见GetKeyFocusWnd的例子

命令名:SendKeyDown

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

例子:参见GetKeyFocusWnd的例子

命令名:SendKeyPress

第 12 页 共 14 页

Height Greedy Electronic Studio

按键精灵教程

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

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

命令名:SendString

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

例子:参见Find的例子

后台取色找色

功能介绍:在窗口被移出屏幕外或者被其它窗口挡住的情况下,仍能正常取色或找色。注意,最小化的情况下不能正常取色或找色,不能用于DirectX图形,仅对WinXP以及XP以后的操作系统有效。

070827 收录进按键精灵6.50版

命令名:GetPixelColor

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

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

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

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

Plugin Color=elColor(hwnd,10,50)

命令名:FindColor

功能:后台区域找色。

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

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

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

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

Plugin XY=lor(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=nterColor(hwnd,0,0,700,550,"FF0000")

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

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

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

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

命令名:FindColorEx

功能:模糊找色。

第 13 页 共 14 页

Height Greedy Electronic Studio

按键精灵教程

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

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

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

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

Plugin XY=lorEx(hwnd,0,0,700,550,"00FFFF",0,0.9)

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

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

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

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

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

第 14 页 共 14 页