学习游戏脚本制作:按键精灵键鼠同步器源码分享

合集下载

按键精灵VBS脚本实例源码及详解

按键精灵VBS脚本实例源码及详解

【1.基本例子介绍(推荐)】【2.人气工具百宝箱之天龙八部2键盘连按】【3.自动打怪例子】【4.用盒子制作自动加血类脚本的方法】【5、【QQ幻想世界】自动打怪v1.0版】[Relative]SetupOCXFile=[Comment]Content=[Script]//〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓★描★述★〓〓〓〓〓〓〓〓〓〓〓〓☆〓〓////————————————————<[QQ幻想世界自动打怪v1.0版][作者]一只鱼>//游戏设置:———[Tab]找怪热键———[1]打怪热键———[空格]捡物热键//〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓★说★明★〓〓〓〓〓〓〓〓〓〓〓〓☆〓〓////——————————————————————<创建日期:2010/05/31>//〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓★开★始★〓〓〓〓〓〓〓〓〓〓〓〓☆〓〓////——————————————————————<休息计时器归零>n = 0Rem 《开始》//——————————————————————<找怪热键“Tab”>KeyPress 9,1Delay 100//——————————————————————<在选怪的过程中利用时间空隙捡物> KeyPress 32,1//——————————————————————<打怪计时器归零>i = 0Rem 《打怪》//——————————————————————<打怪计时器计数增加>i += 1//——————————————————————<捡物加打怪延时,有效利用延时。

> Delay 1000//——————————————————————<打怪热键“1”>KeyPress 49,1//————————<循环1次打怪,耗时1秒。

这里可以设置打怪时间[10次10秒]>If i >= 10Delay 500Goto 《打怪结束》End IfGoto 《打怪》Rem 《打怪结束》//——————————————————————<捡物热键“空格”>KeyPress 32,1//——————————————————————<捡物延时>Delay 1000//——————————————————————<打死60只怪后坐地休息>If n >= 60Delay 1000//——————————————————————<坐地休息热键“=”>KeyPress 187,1//——————————————————————<坐地休息60秒>t = 60While t <> 0Delay 1000t -= 1Wend//——————————————————————<休息计时器归零>n = 0Else//——————————————————————<休息计时器计数增加>n += 1End If//——————————————————————<重新开始执行>Goto 《开始》//〓〓〓〓〓〓〓〓〓〓〓〓〓〓★结★束★〓〓〓〓〓〓〓〓〓〓〓〓☆〓〓//制作《QQ幻想世界》纯硬件操作自动打怪脚本例子一、制作思路流程:1.首先Tab热键选怪2.在选怪空隙中捡物1次3.开始打怪4.打怪等待时间(默认10次[1次1秒])5.打怪结束后捡物1次6.打死60只怪后坐地休息60秒7.返回重新开始二、游戏热键设置:游戏设置:——[Tab]找怪热键——[1]打怪热键——[空格]捡物热键——[8]休息热键三、脚本制作过程:1.首先Tab热键选怪Rem 《开始》//——————————————————————<找怪热键>KeyPress 9,1Delay 1002.在选怪空隙中捡物1次//——————————————————————<在选怪的过程中利用时间空隙捡物>KeyPress 32,1Delay 5003.开始打怪Rem 《打怪》//——————————————————————<捡物加打怪延时,有效利用延时。

学习怎么用按键精灵制作游戏辅助——脚本源代码干货分享

学习怎么用按键精灵制作游戏辅助——脚本源代码干货分享

学习怎么用按键精灵制作游戏辅助——脚本源代码干货分享一、用按键精灵确定人物朝向(以剑灵自动寻路为例)的代码在剑灵右上角的小地图里找色/找图,箭头坐标存储在(x1,y1),箭尾坐标存储在(x2,y2) FindColor1200,0,1920,300,"箭头颜色",x1,y1If x1 > 0 And y1> 0 ThenEnd IfFindColor1200,0,1920,300,"箭尾颜色",x2,y2If x1 > 0 And y1> 0 ThenEnd If'计算斜率/正切值斜率= (y1 - y2) / (x1 -x2)'计算角度角度= Atn(斜率)二、用按键精灵解决用户密码泄露问题的代码Function 加解密(源文件, 秘钥)Dim Z, iDim A, B, C加解密= ""If Len(源文件) = 0 Then’如果密码为空,则初始化为空加解密= ""Exit FunctionEnd If'调用Rnd函数使以后Rnd函数所产生的Rnd为相同的伪随机数列Z = Rnd(-秘钥)For i = 1 To Len(源文件)’将密码字符串一个一个字符通过加密,转换成另一个字符C = Mid(源文件, i, 1)A = Asc(C)B = Int(126 * Rnd) And&H7F’这里的&H7F,是指生成的伪随机代码,只取7位,以免数据溢出A = A Xor B’Xor是可逆的,第一次运行时是得到加密后的数据,再运行一次是得到解密后的数据C = Chr(A)加解密= 加解密+ CNextEnd Function举个例子吧~Function 加解密(源文件, 秘钥)Dim Z, iDim A, B, C加解密= ""If Len(源文件) = 0 Then加解密= ""Exit FunctionEnd If'调用Rnd函数使以后Rnd函数所产生的Rnd为相同的伪随机数列Z = Rnd(-密钥)For i = 1 To Len(源文件)C = Mid(源文件, i, 1)A = Asc(C)B = Int(126 * Rnd) And&H7FA = A Xor BC = Chr(A)加解密= 加解密+ CNextEnd FunctionEvent Form1.Load//获取小节名(如"e1df741f-d5ec-4ad7-969d-adb139c6a24f"),同一个Q文件生成的小节名不变a = GetMacroID()//获取到当前脚本/小精灵de ID加密文件=Plugin.File.ReadINI("e1df741f-d5ec-4ad7-969d-adb139c6a24f","Form1 .InputBox2.T ext", ".\uservar.ini")解密文件= 加解密(加密文件, 1234567890)'这里的1234567890是假使的密钥,可以修改,注意保密Form1.InputBox2.T ext = 解密文件End Event//写入密码信息源文件= Form1.InputBox2.T ext加密文件= 加解密(源文件, 1234567890)CallPlugin.File.WriteINI("e1df741f-d5ec-4ad7-969d-adb139c6a24f","Form1.InputBox2.T ext", 加密文件, ".\uservar.ini")//输出信息RunApp "notepad.exe"SayString Form1.InputBox1.T extKeyPress "Enter", 1SayString 源文件三、按键精灵快速排序的代码su = "6|1|2|7|9|3|4|5|10|8"su=Split(su, "|")L = UBound(su)Call ks(0, L)Function ks(L, B)If L > B ThenExit FunctionEnd If //判断数组上标下标是否超出范围i = Lj = Bkey =int( su(L) ) //数组第一位提取作为基数While j>iWhile int ( su(j)) >= key and j > i //要先从最右边开始找找到第一个小于key的数这里添加的j>i的判断是为了防止j的值不断递减导致下标越界j = j - 1WendWhile int (su(i)) <= key and j > i //从最左边开始找找到第一个大于key的数(这里的字符串数组需要转换为数值型)i = i + 1WendIf j>i then // 将和基数key对比得到的两个数对换将大于key的值往右边放小于key的值往左边放T = su(i)su(i) = su(j)su(j) = TEnd IfWend // 这个While 循环当i=j 第一轮比较完退出su(L) = su(i) // 重新设置数组第一个元素为基数su(i) = key// 基数归位(排完一轮之后左边的数<基数<右边的数那么基数就到了排序中它该在的位置。

新版按键精灵X版底层使用代码分享

新版按键精灵X版底层使用代码分享

新版按键精灵X版底层使⽤代码分享按键精灵X亮点多多,这⾥分四⽅⾯简要说明⼀下:1、性能提升:代码⾏效率提升70%以上,函数调⽤效率提升40%以上,同脚本整体性能⽐按键精灵2014提升10%以上。

2、体验更好:调试反应迅速,多次调试内存不会导致内存泄漏积累、CPU占⽤过⾼的情况。

3、更加稳定:内存占⽤有所改善,调试、运⾏不容易崩溃,不会因为杀软或优化的缘故导致脚本⽆法执⾏。

4、功能更强:QUI系统优化、附件系统优化、标准库重做、多线程系统优化,功能⽐2014版更强⼤。

获取窗⼝焦点1 /***********2 *获取窗⼝焦点(*底层识别)3 ************/4 Function windowsIn()5 //获取窗⼝句柄6 Hwnd = Window.Find("WeChatMainWndForPC", "微信")7 //窗⼝复原8 Window.Restore (Hwnd)9 //窗⼝移动10 Window.Move(Hwnd, 300, 200)11 //重设窗⼝⼤⼩12 Window.SetClientSize(Hwnd, 850, 795)13 //获取窗⼝坐标14 sRect = Window.GetWindowRect(Hwnd)15 //MsgBox "得到窗⼝句柄的边框⼤⼩(包括标题栏)为:"& sRect16 //下⾯这句⽤于分割字符串,将横坐标和纵坐标分成两个字符串17 MyArray = Split(sRect, "|")18 //下⾯这句将字符串转换成数值19 W1 = Clng(MyArray(1)): H1 = Clng(MyArray(2))20 W2 = Clng(MyArray(3)) : H2 = Clng(MyArray(4))21 //MsgBox "边框⼤⼩: " & W2-W1 & "" & H2-H122 sosow=W1+11723 sosoh = H1 + 2624 TracePrint W1 & "::" & H1 & "::" & W2 & "::" & H225 End FunctionView Code⼤漠绑定1 /*****************2 **⼤漠绑定插件命令(*底层识别)3 *******************/4 Function findOcr()5 dm_ret = dm.SetDict(0, GetResPath()&"dm.txt")6 dm_ret = dm.GetClientSize(Hwnd,W2-W1,H2-H1)7 dm_ret = dm.BindWindow(Hwnd, "gdi", "normal", "normal", 0)8 Delay 2009 If dm_ret = 0 Then10 TracePrint ("⼤漠界⾯綁定失败")11 Return -112 Exit Function13 Else14 TracePrint ("⼤漠界⾯綁定成功")15 Return 016 End If17 End FunctionView Code⼤漠识字封装1 /*****************2 **⼤漠识字命令(*底层识别)3 *daMoFindOcr(x1,y1,x2,y2)4 *******************/5 Function daMoFindOcr(d1_x1,d1_y1,d1_x2,d1_y2)6 Dim d1_s = dm.Ocr(d1_x1,d1_y1,d1_x2,d1_y2,"727272-202020|000000-eeeeee",0.9)7 TracePrint (d1_s)8 Return d1_s9 End FunctionView Code⼤漠识图封装1 /*****************2 **⼤漠识图命令(*底层识别)3 *dm_findAllPic(x1,y1,x2,y2)4 *******************/5 Function dm_findPic(d3_x1, d3_x2, d3_y1, d3_y2, d3_picUrl)6 Dim d3_dm_ret, d3_intX,d3_intY, d3_count, d3_sss, d3_x, d3_y7 d3_dm_ret = dm.FindPic(d3_x1, d3_x2, d3_y1, d3_y2,GetResPath()& d3_picUrl,"000000",0.9,0,d3_intX,d3_intY)8 If d3_intX >= 0and d3_intY >= 0 Then9 d3_intX = d3_intX10 d3_intY = d3_intY11 TracePrint (d3_intX & "+dm_findPic+" & d3_intY)12 Return 0,d3_intX,d3_intY13 Else14 TracePrint ("-1,-1,-1")15 Return -1,-1,-116 End If17 End FunctionView Code⼤漠全屏识图封装1 /*****************2 **⼤漠识图命令全局(*底层识别)3 *dm_findAllPic(x1,y1,x2,y2)4 *******************/5 Function dm_findAllPic(d2_x1, d2_y1, d2_x2, d2_y2, d2_picUrl)6 dim d2_num = 07 Dim d2_picXY(10)8 Dim d2_daozhangID,d2_shoukuanW,d2_shoukuanH9 Do10 d2_daozhangID,d2_shoukuanW,d2_shoukuanH= dm_findPic(d2_x1,d2_y1,d2_x2,d2_y2,d2_picurl)11 If d2_daozhangID = 0 Then12 d2_num = d2_num + 113 Dim d2_arrayin(1)14 d2_arrayin(d2_shoukuanW)=d2_shoukuanH15 d2_picXY(d2_num)=d2_arrayin16 //x1 = shoukuanW17 d2_y1 = d2_shoukuanH + 2018 TracePrint (d2_x1 & d2_y1 & d2_x2 & d2_y2)19 TracePrint ( "找到" & d2_num & "个,坐标为:"& d2_shoukuanW& d2_shoukuanH)20 End If21 Loop While d2_daozhangID= 022 //TracePrint ( "找到" & num & "个,坐标为:"& piczuobiaoji)23 For Each d2_k, d2_v In d2_picXY24 TracePrint d2_k, d2_v25 Next26 Return d2_num,d2_picXY27 End FunctionView Code最后:按键精灵X版最新版,⾸次将底层转为基于lua,使得代码书写更为⽅便,使⽤流畅度⼤⼤提升!推荐两个插件:1. :(:放在上边显⽰密码)(开源代码:)⼤兵插件(DBSoft.dll)为⼤兵软件系列软件之⼀,由dabingrain⽤VB6SP6,WINXP系统下写的COM型ActiveX Dll ,⼤部分软件可以引⽤使⽤。

按键精灵网游高级脚本编写教程

按键精灵网游高级脚本编写教程

献给热爱按键精灵的广大爱好者按键精灵学习教程一、键盘命令(2~5页)二、鼠标命令(5~13页)三、控制命令(13~22页)四、颜色/图像命令(22~28页)五、其他命令(28~355页)五、网游脚本实例(35~最后)一、键盘命令1.1.Loop1.1.2.3.MouseWheel 11.2.3.MouseWheel 14.1.脚本例子:语法) 复制代码1.命令名称:RestoreMousePos 恢复上次保存的鼠标位置命令功能:保存当前鼠标位置命令参数:无返回值:无脚本例子:语法) 复制代码1.SaveMousePos1.LoopLoopLoopLoopLoop 1.1.1.则命令功能:判断表达式命令参数:参数1 条件型,表达式返回值:无脚本例子:语法) 复制代码1.例子1:2.i=03.If i=0 Then4.Msgbox "条件判断符合被通过!!"5.End If1.1.可当注释,也可以为Goto跳转指令作标记2.Rem脚本开始脚本例子:语法) 复制代码命令名称:RestartScript 重新启动脚本运行命令功能:重新启动脚本运行命令参数:无返回值:无脚本例子:语法) 复制代码1.For i=0 to 22.Delay10003.Call0, 1024, 768, "屏幕内容填写" & i, "0000FF")4.NextRestartScript1.则循环命令功能:条件循环命令参数:参数1 条件型,循环条件返回值:无脚本例子:语法) 复制代码1.i=02.While i=03.Msgbox "我停不下来啦!!快住手"4.Wend1.1.1.,则默认展开到按键精灵所在的文件夹中2.mp。

如果不指定要释放的文件,则默认释放所有文件3.PutAttachment "c:\","*.bmp"4.plugin","*.dll"1.,则默认展开到按键精灵所在的文件夹中2.mp。

按键精灵教程

按键精灵教程
Gosub 提示
TiShiXinXI = "当您按下脚本的启动热键 F10 "&vbCrLf&"脚本即可帮你模拟按键输入 A "
Gosub 提示
TiShiXinXI = "本教程演示完毕!"&vbCrLf&"快点试试您的第一个脚本吧!"
Gosub 提示
Gosub GetABPoint
Gosub 慢慢移动
LeftClick 1
Delay 3000
LeftClick 1
Return 介绍1
//功能模块3:脚本编辑器界面,介绍鼠标命令的使用
Sub 介绍2
TiShiXinXI = "请看鼠标命令面板"&vbCrLf&"可以模拟鼠标的操作"
Return 提示
//常用:获取A点和B点的坐标,A点是当前坐标点,B点是目的坐标点
Sub GetABPoint
//获取A点坐标信息
VBSCall GetCursorPos(ax,ay)
//获取B点坐标信息,B点坐标 = 窗口坐标 + 相对坐标
Plugin hWnd=Window.Foreground()
Gosub 慢慢移动
Delay 2000
LeftClick 1
// Delay 1000
//打开了脚本编辑器,介绍脚本编辑器的功能
TiShiXinXI = "现在您看到的是脚本编辑界面"&vbCrLf&"这里是创造脚本的舞台"
Gosub 提示
Gosub 提示

按键精灵脚本制作教程(全)

按键精灵脚本制作教程(全)

按键精灵脚本制作教程(全)一、前言所谓游戏外挂,其实是一种游戏外辅程序,它可以协助玩家自动产生游戏动作、修改游戏网络数据包以及修改游戏内存数据等,以实现玩家用最少的时间和金钱去完成功力升级和过关斩将。

虽然,现在对游戏外挂程序的“合法”身份众说纷纭,在这里我不想对此发表任何个人意见,让时间去说明一切吧。

不管游戏外挂程序是不是“合法”身份,但是它却是具有一定的技术含量的,在这些小小程序中使用了许多高端技术,如拦截Sock技术、拦截API技术、模拟键盘与鼠标技术、直接修改程序内存技术等等。

本文将对常见的游戏外挂中使用的技术进行全面剖析。

二、认识外挂游戏外挂的历史可以追溯到单机版游戏时代,只不过当时它使用了另一个更通俗易懂的名字??游戏修改器。

它可以在游戏中追踪锁定游戏主人公的各项能力数值。

这样玩家在游戏中可以达到主角不掉血、不耗费魔法、不消耗金钱等目的。

这样降低了游戏的难度,使得玩家更容易通关。

随着网络游戏的时代的来临,游戏外挂在原有的功能之上进行了新的发展,它变得更加多种多样,功能更加强大,*作更加简单,以至有些游戏的外挂已经成为一个体系,比如《石器时代》,外挂品种达到了几十种,自动战斗、自动行走、自动练级、自动补血、加速、不遇敌、原地遇敌、快速增加经验值、按键精灵……几乎无所不包。

游戏外挂的设计主要是针对于某个游戏开发的,我们可以根据它针对的游戏的类型可大致可将外挂分为两种大类。

一类是将游戏中大量繁琐和无聊的攻击动作使用外挂自动完成,以帮助玩家轻松搞定攻击对象并可以快速的增加玩家的经验值。

比如在《龙族》中有一种工作的设定,玩家的工作等级越高,就可以驾驭越好的装备。

但是增加工作等级却不是一件有趣的事情,毋宁说是重复枯燥的机械劳动。

如果你想做法师用的杖,首先需要做基本工作--?砍树。

砍树的方法很简单,在一棵大树前不停的点鼠标就可以了,每10000的经验升一级。

这就意味着玩家要在大树前不停的点击鼠标,这种无聊的事情通过"按键精灵"就可以解决。

继续教育网按键精灵源码

If a - aa > 60000 Then
aa = a
randomize
MoveTo int(Rnd*1366),int(Rnd*768)
End If
End if
Call FindPic(0,0,1365,767,"Attachment:\q.bmp",0.9,x,y)
Delay 100
LeftClick 1
KeyPress "Right", 1
SayString m(2)'"134034"
Delay 100
Goto xunzhao3
Else
MoveTo 1360,286'1060, 190'下边的密码输入框
Delay 500
LeftClick 1
Delay 500
LeftClick 1
Delay 500
Call Plugin.Media.Play("C:\Users\Administrator\Desktop\梨花又开放.mp3")
End If
Call FindPic(0,0,1365,767,"Attachment:\100.bmp",0.9,x,y)
Goto xunzhao1
Else
goto xuexi
End If
Rem xunzhao1
Call FindPic(0, 0, 1365, 767, "Attachment:\yonghuming1.bmp", 0.9, x, y)
If x>=0 and y>=0 Then

按键精灵的原理和编写方法(1)

按键精灵的原理和编写方法(1)按键精灵的原理和编写方法(1)2009-08-14 16:27:40| 分类:默认分类 |字号订阅按键精灵是一类很普遍的游戏插件,wow raid过程中部分职业的某些操作就需要此类插件(文俊的牧师号在打某些BOSS时驱散用到过)。

类似的插件无非是用程序来模拟重复性的键盘动作。

游戏中进行键盘操作的程序可以理解为:按下某键——键盘驱动程序将此事件传递给操作系统——操作系统将此事件插入消息队列——此消息被发送到当前活动窗口。

按照这个过程来理解程序,剩下的只不过要将抽象化的语句翻译成代码。

当然很多过程编程工具(.NET)会自动处理,而不需你去理会。

(如如何插入消息队列,消息队列的管理,无用对象的释放)。

第一个问题,按下如何用程序来模拟在键盘上按下某键。

日常操作中,当用户在键盘上按下某个按键时,键盘内芯片会检测到这个动作,并将这个信号传递给计算机。

对于每个按键,键盘分配给它不同的编码,称做键盘扫描码。

当敲击键盘时,底层上实际传递给计算机消息队列的是该按键的键盘扫描码,所以知道了欲按键的扫描码,就可以将该信息传递给电脑,从而达到模拟按键的功能。

第二个问题,键盘驱动程序如何把此事件传递给操作系统。

解决第一个问题的关键是必须知道按键的键盘扫描码,但是仅仅知道键盘扫描码不够。

因为操作系统需要得到的信息的并不是键盘扫描码。

因为键盘扫描码是跟具体的硬件相关的,同一个键在不同键盘上的扫描码有可能不同。

键盘控制器将这个扫描码传给计算机,然后交给键盘驱动程序。

键盘驱动程序会完成相关的工作,并把这个扫描码转换为键盘虚拟码。

键盘虚拟码是针对键盘扫描码的非通用性所提出。

尽管出于硬件原因,同一个按键可能有不同的扫描码,但是无论什么键盘,同一个按键的虚拟码总是相同的,这样程序就可以识别了。

简单点说,虚拟码就是我们经常可以看到的像VK_A,VK_B这样的常数,比如键a的虚拟码(字母大小写虽然是同一个键,但是虚拟码不同)是&H61(即十进制的97,一般用16进制来表示虚拟码)。

挂机必备-按键精灵网游脚本编写教程

按键精灵网游脚本编写教程一、键盘命令(2~5页)二、鼠标命令(5~13页)三、控制命令(13~22页)四、颜色/图像命令(22~28页)五、其他命令(28~355页)五、网游脚本实例(35~最后)一、键盘命令命令名称: GetLastKey 检测上次按键命令功能: 检测上次按键命令参数:参数1整数型,可选:变量名返回值:无脚本例子: (8.x语法) 复制代码1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次按下的按键码保存在变量Key里。

2.Key=GetLastKey()3.If Key = 13Then4. Msgbox"你上次按下了回车键"5.EndIf脚本例子:ﻫ(7.x语法) 复制代码1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次按下的按键码保存在变量Key里。

2.GetLastKey Key3.If Key = 134. Msgbox "你上次按下了回车键"5.EndIf命令名称: KeyDown 按住命令功能: 键盘按住命令参数: 参数1整数型,键盘虚拟码(8.X支持按键字符)参数2整数型,次数返回值: 无脚本例子:ﻫ(8.x语法)复制代码1.//KeyDown、KeyDownS、KeyDownH2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的键盘都可以使用3.//KeyDownH:硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模拟方式的注意事项4.KeyDown 65,15.//65是A键的按键码,上面的语句表示按住A键1次6.7.KeyDown "A",18.//上面的支持按键字符,语句表示按住A键1次脚本例子:(7.x语法) 复制代码1.//KeyDown、KeyDownS、KeyDownH2.//KeyDownS:超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的键盘都可以使用3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模拟方式的注意事项4.KeyDown65,15.//65是A键的按键码,上面的语句表示按住A键1次命令名称:KeyPress按键命令功能:键盘按键命令参数:参数1整数型,键盘虚拟码(8.X支持按键字符)ﻫ参数2整数型,次数返回值:无脚本例子: (8.x语法)复制代码1.//KeyPress、KeyPressS、KeyPressH2.//KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的键盘都可以使用3.//KeyPressH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模拟方式的注意事项4.KeyPress 65,15.//65是A键的按键码,上面的语句表示按A键1次6.7.KeyPress"A",18.//上面的支持按键字符,语句表示按A键1次脚本例子:(7.x语法) 复制代码1.//KeyPress、KeyPressS、KeyPressH2.//KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的键盘都可以使用3.//KeyPressH:硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模拟方式的注意事项4.KeyPress 65,15.//65是A键的按键码,上面的语句表示按A键1次命令名称:KeyUp 弹起命令功能: 键盘弹起命令参数: 参数1 整数型,键盘虚拟码(8.X支持按键字符)ﻫ参数2整数型,次数返回值: 无脚本例子: (8.x语法) 复制代码1.//KeyUp、KeyUpS、KeyUpH2.//KeyUpS:超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的键盘都可以使用3.//KeyUpH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模拟方式的注意事项4.KeyUp 65,15.//65是A键的按键码,上面的语句表示松开A键1次6.7.KeyUp "A",18.//上面的支持按键字符,语句表示松开A键1次脚本例子: (7.x语法) 复制代码1.//KeyUp、KeyUpS、KeyUpH2.//KeyUpS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的键盘都可以使用3.//KeyUpH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模拟方式的注意事项4.KeyUp 65,15.//65是A键的按键码,上面的语句表示松开A键1次命令名称: WaitKey等待按任意键命令功能: 等待按任意键命令参数:参数1整数型,可选:变量名返回值: 无脚本例子:ﻫ(8.x语法) 复制代码1.Key=WaitKey()2.//脚本运行到这一行会暂停,当用户按下键盘后继续执行,并且把用户的按键码保存在变量Key里3.If Key = 13 Then4. MessageBox "恭喜你按下了回车键"5.End If脚本例子: (7.x语法)复制代码1.WaitKey Key2.//脚本运行到这一行会暂停,当用户按下键盘后继续执行,并且把用户的按键码保存在变量Key里3.If Key = 134. Msgbox "恭喜你按下了回车键"5.EndIf二、鼠标命令命令名称:GetCursorPos得到鼠标位置坐标命令功能: 得到当前鼠标所在的位置坐标命令参数: 参数1 整数型,返回x坐标ﻫ参数2整数型,返回y坐标返回值: 无脚本例子: (8.x语法) 复制代码1.GetCursorPos mx,my2.//把当前鼠标位置的x和y坐标放在变量mx和my中脚本例子:ﻫ(7.x语法)复制代码1.VBSCall GetCursorPos(mx,my)2.//把当前鼠标位置的x和y坐标放在变量mx和my中命令名称:GetCursorShape得到鼠标形状命令功能: 得到当前鼠标的形状特征命令参数: 参数1整数型,参数返回值:整数型,鼠标的形状值脚本例子:ﻫ(8.x语法) 复制代码1.//参数:0是6.83之前的版本默认的参数2.//参数: 1可用于一些在参数0下无法区分鼠标形状代码的情况3.//下面是我们普通的WINDOWS鼠标形状特征4.//不同电脑上鼠标形状特征也许不同,请使用"抓点抓色"功能抓取正确的鼠标形状特征5.Shape1 = 15933502876.//下面是我们访问网页超链接时候的手型鼠标形状7.Shape2 = 10559913298.shape=GetCursorShape(0)9.If shape = shape1 Then10. MessageBox "当前鼠标形状是普通的WINDOWS鼠标"11.ElseIf shape= shape2 Then12.MessageBox "当前鼠标形状是手型鼠标"13.Else14. MessageBox "不认识当前鼠标形状!"15.EndIf脚本例子: ﻫ(7.x 语法) 复制代码1.//参数: 0 是6.83之前的版本默认的参数2.//参数: 1 可用于一些在参数0下无法区分鼠标形状代码的情况3.//下面是我们普通的WINDOWS鼠标形状特征4.//不同电脑上鼠标形状特征也许不同,请使用"抓点抓色"功能抓取正确的鼠标形状特征5.Shape1 = 15933502876.//下面是我们访问网页超链接时候的手型鼠标形状7.Shape2 = 10559913298.VBSCall Shape=GetCursorShape(0)9.Ifshape = shape110.MessageBox当前鼠标形状是普通的WINDOWS鼠标11.ElseIf shape = shape212. MessageBox 当前鼠标形状是手型鼠标13.Else14. MessageBox 不认识当前鼠标形状!15.EndIf命令名称: GetLastClick 检测上次按过的鼠标键命令功能:检测上一次按下的鼠标代码命令参数: 参数1 整数型,可选:变量名返回值:无脚本例子:ﻫ(8.x 语法)复制代码1.Mouse=GetLastClick()2.If Mouse =32770Or Mouse =32769 Then3.Msgbox "你按下了鼠标左键"4.End If脚本例子:ﻫ(7.x语法) 复制代码1.GetLastClick Mouse2.IfMouse =32770 Or Mouse =327693. Msgbox "你按下了鼠标左键"4.EndIf命令名称:LeftClick 左键单击命令功能:模拟点击鼠标左键命令参数: 参数1 整数型,次数返回值:无脚本例子: (8.x语法) 复制代码1.//LeftClick、LeftClickS、LeftClickH2.//LeftClickS:超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//LeftClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.LeftClick 55.//在当前鼠标的位置单击鼠标左键5次脚本例子: (7.x语法) 复制代码1.//LeftClick、LeftClickS、LeftClickH2.//LeftClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//LeftClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.LeftClick 55.//在当前鼠标的位置单击鼠标左键5次命令名称: LeftDoubleClick 左键双击命令功能: 模拟双击鼠标左键命令参数:参数1整数型,次数返回值:无脚本例子:(8.x语法)复制代码1.//LeftDoubleClick、LeftDoubleClickS、LeftDoubleClickH]2.//LeftDoubleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//LeftDoubleClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.LeftDoubleClick 55.//在当前鼠标的位置双击鼠标左键5次脚本例子:复制代码(7.x语法)1.//LeftDoubleClick、LeftDoubleClickS、LeftDoubleClickH]2.//LeftDoubleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//LeftDoubleClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.LeftDoubleClick 55.//在当前鼠标的位置双击鼠标左键5次命令名称:LockMouse 锁定鼠标位置命令功能:锁定鼠标位置,用户将不能通过移动鼠标而改变鼠标位置,而脚本仍可以改变鼠标位置命令参数:无返回值:无脚本例子:(8.x语法)复制代码1.//在脚本开始的时候使用这个命令,可以有效防止用户误触鼠标引起脚本执行出错2.LockMouse3.Do4.Delay 10005.Loop脚本例子: (7.x语法) 复制代码1.//在脚本开始的时候使用这个命令,可以有效防止用户误触鼠标引起脚本执行出错2.LockMouse3.WhileTrue4.Delay 10005.EndWhile命令名称: MiddleClick中键单击命令功能: 模拟点击鼠标中键命令参数: 参数1整数型,次数返回值:无脚本例子:ﻫ(8.x语法) 复制代码1.//MiddleClick、MiddleClickS、MiddleClickH2.//MiddleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MiddleClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.MiddleClick 55.//在当前鼠标的位置单击鼠标中键5次脚本例子: ﻫ(7.x语法) 复制代码1.//MiddleClick、MiddleClickS、MiddleClickH2.//MiddleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MiddleClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.MiddleClick 55.//在当前鼠标的位置单击鼠标中键5次命令名称: MouseWheel鼠标滚轮命令功能:滚动鼠标滚轮命令参数: 参数1整数型,滚动量返回值:无脚本例子:ﻫ(8.x 语法)复制代码1.//如果滚动量为正,向上滚动;否则向下滚动.2.//仅支持Windows 2000以上的操作系统.3.MouseWheel 14.//把鼠标滚轮向上滚动1格脚本例子:(7.x语法) 复制代码1.//如果滚动量为正,向上滚动;否则向下滚动.2.//仅支持Windows2000以上的操作系统.3.MouseWheel 14.//把鼠标滚轮向上滚动1格命令名称: MoveR 鼠标相对移动命令功能:鼠标相对移动到命令参数: 参数1 整数型,X距离ﻫ参数2整数型,Y距离返回值:无脚本例子:ﻫ(8.x语法) 复制代码1.//MoveR、MoveRS、MoveRH2.//MoveRS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MoveRH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.//当前鼠标在(100,100)点,使用下面语句5.MoveR 200,3006.//之后,鼠标就被移到了(100+200,100+300)处,也就是坐标(300,400)处7.//提示:使用硬件模拟方式不能碰键盘鼠标,否则会导致出错脚本例子: (7.x语法)复制代码1.//MoveR、MoveRS、MoveRH2.//MoveRS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MoveRH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.//当前鼠标在(100,100)点,使用下面语句5.MoveR 200,3006.//之后,鼠标就被移到了(100+200,100+300)处,也就是坐标(300,400)处7.//提示:使用硬件模拟方式不能碰键盘鼠标,否则会导致出错命令名称:MoveTo鼠标移动命令功能:移动鼠标到命令参数: 参数1 整数型,X坐标ﻫ参数2 整数型,Y坐标返回值: 无脚本例子:ﻫ(8.x 语法) 复制代码1.//MoveTo、MoveToS、MoveToH2.//MoveToS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MoveToH: 硬件模拟方式,仅支持PS(圆口)的鼠标4.MoveTo 100,2005.//把鼠标移动到(100,200)这个点上6.intX=507.intY=1508.MoveTo intX,intY9.//把鼠标移动到(intX,intY)这个点上,需要5.50以上版本支持.脚本例子: ﻫ(7.x语法) 复制代码1.//MoveTo、MoveToS、MoveToH2.//MoveToS:超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MoveToH:硬件模拟方式,仅支持PS(圆口)的鼠标4.MoveTo 100,2005.//把鼠标移动到(100,200)这个点上6.intX=507.intY=1508.MoveTo intX,intY9.//把鼠标移动到(intX,intY)这个点上,需要5.50以上版本支持.命令名称:RestoreMousePos恢复上次保存的鼠标位置命令功能: 保存当前鼠标位置命令参数:无返回值: 无脚本例子: (8.x语法) 复制代码1.SaveMousePos2.//保存当前鼠标位置3.Delay1004.MoveTo 500,205.Delay 1006.RestoreMousePos7.//将鼠标移动到上一次保存的鼠标位置8.//保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位置,9.//这样脚本执行后鼠标的位置就不会变化脚本例子: ﻫ(7.x语法) 复制代码1.SaveMousePos2.//保存当前鼠标位置3.Delay 1004.MoveTo 500,205.Delay 1006.RestoreMousePos7.//将鼠标移动到上一次保存的鼠标位置8.//保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位置,9.这样脚本执行后鼠标的位置就不会变化命令名称: RightClick 右键单击命令功能: 模拟点击鼠标右键命令参数:参数1 整数型,次数返回值:无脚本例子:ﻫ(8.x语复制代码1.//RightClick、RightClickS、RightClickH2.//RightClickS:超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的法)鼠标都可以使用3.//RightClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.RightClick 55.//在当前鼠标的位置单击鼠标右键5次脚本例子: (7.x语法) 复制代码1.//RightClick、RightClickS、RightClickH2.//RightClickS:超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//RightClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.RightClick 55.//在当前鼠标的位置单击鼠标右键5次命令名称: SaveMousePos 保存当前鼠标所在位置命令功能: 保存当前鼠标位置命令参数: 无返回值: 无脚本例子:(8.x语法) 复制代码1.SaveMousePos2.//保存当前鼠标位置3.Delay1004.MoveTo 500,205.Delay 1006.RestoreMousePos7.//将鼠标移动到上一次保存的鼠标位置8.//保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位置,9.//这样脚本执行后鼠标的位置就不会变化脚本例子: ﻫ(7.x语法) 复制代码1.SaveMousePos2.//保存当前鼠标位置3.Delay 1004.MoveTo 500,205.Delay 1006.RestoreMousePos7.//将鼠标移动到上一次保存的鼠标位置8.//保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位置,9.这样脚本执行后鼠标的位置就不会变化命令名称: UnlockMouse解除锁定鼠标位置命令功能:解除LockMouse命令对鼠标位置的锁定命令参数:无返回值: 无脚本例子:ﻫ(8.x 语法) 复制代码1.脚本例子:(7.x语法) 复制代码1.//如果用户使用了LockMouse命令而没有使用UnlockMouse命令,按键精灵会在脚本结束时自动解除锁定2.UnlockMouse命令名称: WaitClick 按任意鼠标键继续命令功能:脚本执行到这一句暂停,按下任意鼠标键之后继续命令参数:参数1 整数型,可选:变量名返回值:无脚本例子:ﻫ(8.x语法) 复制代码1.last_click=WaitClick()2.MessageBox "您按下了" & last_click脚本例子: (7.x语法) 复制代码1.WaitClick last_click2.MessageBox "您按下了" & last_click三、控制命令脚本例子: (8.x语法)复制代码1.Call子程序("我是子程序,被你调用了")2.EndScript3.//支持中文名变量4.Sub子程序(啊)5. Msgbox啊6.End Sub7.//定义一个过程,可以在脚本中调用这个过程脚本例子:(7.x语法)复制代码命令名称: Do 循环命令功能: 条件循环命令参数:参数1条件型,循环条件返回值:无脚本例子:ﻫ(8.x 语法) 复制代码1.例子1:2.//支持Exit Do命令退出循环3.i=04.DoWhile i=05. Msgbox "我停不下来啦!!快住手"6.Loop7.//当循环条件成立的时候,反复执行循环体8.9.10.例子2:11.i=012.DoUntil i=013. Msgbox "为什么没有循环到我呢?"14.Loop15.Msgbox "循环结束"16.//当循环条件成立的时候,离开循环体17.18.19.例子3:20.i=021.Do Untili=122.Msgbox "我停不下来啦!!快住手"23.Loop24.//当循环条件不成立的时候,反复执行循环体25.26.27.例子4:28.n=029.DoWhile true30. Msgbox "我将循环10次停下来!!"31.If n>=10 Then32. //当循环条件成立的时候,离开循环体33.Exit do34.End if35. n=n+136.Loop37.Msgboxn & "次"38.39.40.例子5:41.i = 042.Do43. MessageBox "ok"44.Loop While i <> 045.//条件放后面,前面的循环内容可以执行一次!脚本例子: ﻫ(7.x语法) 复制代码1.无命令名称:For 循环命令功能: 循环一定次数命令参数: 参数1 整数型,循环次数返回值:无脚本例子:ﻫ(8.x 语法) 复制代码1.例子1:2.//支持Exit For 命令退出循环3.For i=0 To 94.Delay1005.Next6.//循环10次7.8.例子2:9.//支持ExitFor命令退出循环10.For 1011.Delay10012.Next13.//循环10次14.15.16.例子3:17.//支持Exit For 命令退出循环18.For i=0 to 19 step 219.Delay 10020.Next21.//循环10次22.23.例子4:24.//支持Exit For 命令退出循环25.For i=0 to 19 step 226.Delay 10027.If i>9 Then28.Exit For29.End If30.Next31.//循环5次脚本例子: ﻫ(7.x 语法) 复制代码1.For 102.Delay1003.EndFor4.//循环10次命令名称:Function 函数命令功能: 函数命令参数: 多类型,多参数返回值: 多类型脚本例子:ﻫ(8.x 语法) 复制代码1.//支持Exit Function 命令退出函数过程2.Msgbox 函数过程("我是函数,被你调用了")3.EndScript4.Function函数过程(a)5.函数过程=a6.End Function7.//定义一个函数过程,可以在脚本中调用这个函数脚本例子:ﻫ(7.x语法) 复制代码1.无命令名称:Gosub调用子程序命令功能:调用过程命令参数: 参数1字符串型,过程名返回值:无脚本例子:(8.x语法)复制代码1.//可带参数传递2.Call子程序("我是子程序,被你调用了")3.EndScript4.Sub子程序(a)5. Msgbox a6.End Sub7.//定义一个过程,可以在脚本中调用这个过程脚本例子: ﻫ(7.x 语法) 复制代码1.Gosub子程序2.EndScript3.Sub子程序4. Msgbox "我是子程序,被你调用了"5.Return子程序6.//定义一个过程,可以在脚本中调用这个过程命令名称:Goto 跳转到标记命令功能: 跳转到Rem标记处命令参数:参数1 字符串型,标号返回值: 无脚本例子:ﻫ(8.x 语法)复制代码1.Goto标记2.Delay 1003.Rem标记4.Msgbox"你直接跳到这里了!!,上面的延迟没有被执行!!"5.//跳转语句,可以跳转到rem标记过的标记处继续执行脚本例子:(7.x语法) 复制代码 1. Goto 标记2. D elay 1003. Rem 标记4. Msgbox "你直接跳到这里了!!,上面的延迟没有被执行!!"5. //跳转语句,可以跳转到r em 标记过的标记处继续执行命令名称:I f 如果..则 命令功能:判断表达式命令参数:参数1 条件型,表达式 返 回 值:无 脚本例子:ﻫ(8.x语法) 复制代码 1. 例子1:2. i=03. If i=0 Then4. Msg bo x "条件判断符合被通过!!"5. End I f6. //通过判断表达式的取值,来执行后面的动作或控制7.8. 例子2:9. i=110. If i=0 Th en11. Ms gbox "条件判断符合被通过!!"12. Else If i=1 The n13. M sgbox "否则条件判断符合被通过!!"14. E lse15. Msgbox "否则!!"16. End If17. //通过判断表达式的取值,来执行后面的动作或控制脚本例子:ﻫ(7.x 语法) 复制代码 1. i=02. If i=03. M sgb ox "条件判断符合被通过!!"4. EndIf5. //通过判断表达式的取值,来执行后面的动作或控I fC olor 颜色判断命令功能:判断屏幕某点的颜色命令参数:参数1 整数型,屏幕X坐标参数2整数型,屏幕Y坐标ﻫ参数3字符串型,颜色16进制值参数4 整数型,判断条件返回值: 无脚本例子:ﻫ(8.x语法)复制代码1.例子1:2.//判断条件(0:等于 1:不等于 2:近似等于)3.IfColor 860,27,"e1b072",0 Then4. Msgbox "颜色等于"5.Else6. Msgbox "颜色不等于"7.End If8.//判断坐标点(860,27)的颜色是否等于e1b0729.10.11.例子2:12.a=1:b=113.IfColor 650,118,"78F0E8",2 Then14.MessageBox "a"15.ElseIf b=a Then16. MessageBox "b"17.Endif脚本例子:(7.x语法)复制代码1.//判断条件(0:等于 1:不等于2:近似等于)2.IfColor 860,27,e1b072,03. Msgbox "颜色等于"4.Else5.Msgbox "颜色不等于"6.EndIf7.//判断坐标点(860,27)的颜色是否等于e1b072命令名称: Rem 标记/注释命令功能:标记命令可当注释命令参数:参数1 字符串型,文字返回值: 无脚本例子:(8.x语法) 复制代码1.//不支持数字开头的和符号作为标记名2.//标记命令.即可当注释,也可以为Goto跳转指令作标记3.Rem脚本开始脚本例子: (7.x语法) 复制代码1.//标记命令.即可当注释,也可以为Goto跳转指令作标记2.Rem脚本开始命令名称: RestartScript重新启动脚本运行命令功能:重新启动脚本运行命令参数:无返回值:无脚本例子:ﻫ(8.x 语法) 复制代码1.For i=0 to 22.Delay 10003.Call Plugin.Msg.ShowScrTXT(0, 0, 1024, 768, "屏幕内容填写" & i, "0000FF")4.Next5.RestartScript //重新启动脚本运行脚本例子: (7.x语法) 复制代码1.无命令名称: Select情况条件选择命令功能: 根据情况选择条件判断命令参数: 参数1条件型,情况返回值:无脚本例子: (8.x语法) 复制代码1.//不支持判断语句如:Case a>0erVar 变量=0 "输入(0~9)数字"3.//<>---------------------------------------------以下是选择条件结结构判断4.Select Case变量5.Case06. Msgbox "你输入的数字为:0"7.Case 18. Msgbox "你输入的数字为:1"9.Case 210. Msgbox "你输入的数字为:2"11.Case 312. Msgbox "你输入的数字为:3"13.Case 414. Msgbox "你输入的数字为:4"15.Case 516. Msgbox "你输入的数字为:5"17.Case 618. Msgbox "你输入的数字为:6"19.Case 720. Msgbox "你输入的数字为:7"21.Case 822. Msgbox "你输入的数字为:8"23.Case 924. Msgbox "你输入的数字为:9"25.CaseElse26. Msgbox "你输入的数字不正确,请输入(0~9)数字!"27.End Select脚本例子:(7.x语法) 复制代码1.无命令名称: Sub 子程序命令功能: 定义一个过程命令参数:参数1 字符串型,过程名返回值:无脚本例子:ﻫ(8.x语法) 复制代码1.//支持Exit Sub命令退出子程序过程2.Call子程序()3.EndScript4.Sub子程序()5. Msgbox "我是子程序,被你调用了"6.End Sub7.//定义一个过程,可以在脚本中调用这个过程脚本例子: ﻫ(7.x语复制代码1.Gosub子程序法) 2.EndScript3.Sub子程序4. Msgbox "我是子程序,被你调用了"5.Return子程序6.//定义一个过程,可以在脚本中调用这个过程命令名称: While 如果..则循环命令功能:条件循环命令参数:参数1 条件型,循环条件返回值: 无脚本例子:ﻫ(8.x语法) 复制代码1.i=02.While i=03. Msgbox"我停不下来啦!!快住手"4.Wend5.//当循环条件成立的时候,反复执行循环体脚本例子: (7.x语法)复制代码1.i=02.While i=03. Msgbox"我停不下来啦!!快住手"4.EndWhile5.//当循环条件成立的时候,反复执行循环体四、颜色/图像命令命令名称: FindCenterColor中心找色命令功能:在屏幕区域从中心开始查找指定的颜色命令参数: 参数1 整数型,屏幕左上角x坐标ﻫ参数2整数型,屏幕左上角y坐标ﻫ参数3 整数型,屏幕右下角x坐标参数4 整数型,屏幕右下角y坐标参数5字符串型,16进制颜色值参数6 整数型,返回x坐标参数7整数型,返回y坐标返回值:无脚本例子:ﻫ(8.x 语法) 复制代码1.//FindCenterColor left,top,right,bottom,c,x,y2.//在区域内从中心到外围找颜色为c的点,把坐标保存在变量x和y中3.//left,top,right,bottom都是整数或者整数型变量,说明了区域的左,上,右,下界限4.//颜色是类似于"0000FF"的字符串,如果不取变量,别忘了加双引号5.//如果没有找到这个颜色,则x和y的值都被置为-16.FindCenterColor 0,0,800,600,"0000FF",x,y7.If x>0 and y>0Then8. MoveTo x,y9.EndIf10.//在区域(0,0,800,600)中找红色("0000FF")的点,如果找到,则把鼠标移动到这个点脚本例子: (7.x语法) 复制代码1.//VBSCall FindCenterColor(left,top,right,bottom,c,x,y)2.//在区域内从中心到外围找颜色为c的点,把坐标保存在变量x和y中3.//left,top,right,bottom都是整数或者整数型变量,说明了区域的左,上,右,下界限4.//颜色是类似于"0000FF"的字符串,如果不取变量,别忘了加双引号5.//如果没有找到这个颜色,则x和y的值都被置为-16.VBSCall FindCenterColor(0,0,800,600,"0000FF",x,y)7.If x>0 and y>08. MoveTo x,y9.EndIf10.//在区域(0,0,800,600)中找红色("0000FF")的点,如果找到,则把鼠标移动到这个点命令名称: FindColor 找色命令功能:在屏幕区域从左到右、从上到下的查找指定的颜色命令参数:参数1整数型,屏幕左上角x坐标ﻫ参数2 整数型,屏幕左上角y坐标ﻫ参数3 整数型,屏幕右下角x坐标ﻫ参数4 整数型,屏幕右下角y坐标ﻫ参数5 字符串型,16进制颜色值参数6 整数型,返回x坐标ﻫ参数7 整数型,返回y坐标返回值:无脚本例子:ﻫ(8.x语法) 复制代码1.//FindColor left,top,right,bottom,c,x,y2.//在区域内从左到右,从上到下找颜色为c的点,把坐标保存在变量x和y中3.//left,top,right,bottom都是整数或者整数型变量,说明了区域的左,上,右,下界限4.//颜色是类似于"0000FF"的字符串,如果不取变量,别忘了加双引号5.//如果没有找到这个颜色,则x和y的值都被置为-16.FindColor 0,0,800,600,"0000FF",x,y7.If x>0 and y>0 Then8. MoveTo x,y9.EndIf10.//在区域(0,0,800,600)中找红色("0000FF")的点,如果找到,则把鼠标移动到这个点脚本例子: ﻫ(7.x语法) 复制代码1.//VBSCall FindColor(left,top,right,bottom,c,x,y)2.//在区域内从左到右,从上到下找颜色为c的点,把坐标保存在变量x和y中3.//left,top,right,bottom都是整数或者整数型变量,说明了区域的左,上,右,下界限4.//颜色是类似于"0000FF"的字符串,如果不取变量,别忘了加双引号5.//如果没有找到这个颜色,则x和y的值都被置为-16.VBSCall FindColor(0,0,800,600,"0000FF",x,y)7.If x>0 and y>08. MoveTo x,y9.EndIf10.//在区域(0,0,800,600)中找红色("0000FF")的点,如果找到,则把鼠标移动到这个点命令名称:FindColorEx模糊找色命令功能:在屏幕区域模糊查找指定的颜色命令参数: 参数1整数型,屏幕左上角x坐标参数2整数型,屏幕左上角y坐标参数3 整数型,屏幕右下角x坐标参数4 整数型,屏幕右下角y坐标参数5字符串型,16进制颜色值参数6 整数型,查找方式ﻫ参数7整数型,相似度ﻫ参数8整数型,返回x坐标ﻫ参数9整数型,返回y坐标返回值:无脚本例子:ﻫ(8.x 语法) 复制代码1.//FindColorEx left,top,right,bottom,c,type,similar,x,y2.//在区域内找颜色为c的点,把坐标保存在变量x和y中3.//left,top,right,bottom都是整数或者整数型变量,说明了区域的左,上,右,下界限4.//颜色是类似于"0000FF"的字符串,如果不取变量,别忘了加双引号5.//type表示查找方式。

按键精灵脚本编写命令大全及示例之欧阳地创编

按键精灵学习教程一、一、键盘命令(2~5页)二、鼠标命令(5~13页)三、控制命令(13~22页)四、颜色/图像命令(22~28页)五、其他命令(28~35页)五、网游脚本实例(35~最后)一、键盘命令命令名称:GetLastKey 检测上次按键命令功能:检测上次按键命令参数:参数1 整数型,可选:变量名返回值:无脚本例子:(8.x语法) 复制代码1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次按下的按键码保存在变量Key里。

2.Key=GetLastKey()3.If Key = 13 Then4. Msgbox "你上次按下了回车键"5.End If脚本例子: (7.x语法) 复制代码1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次按下的按键码保存在变量Key里。

2.GetLastKey Key3.If Key = 134. Msgbox "你上次按下了回车键"5.EndIf命令名称:KeyDown 按住命令功能:键盘按住命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符)参数2 整数型,次数返回值:无脚本例子:(8.x语法) 复制代码1.//KeyDown、KeyDownS、KeyDownH2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的键盘都可以使用3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模拟方式的注意事项4.KeyDown 65,15.//65是A键的按键码,上面的语句表示按住A键1次6.7.KeyDown "A",18.//上面的支持按键字符,语句表示按住A键1次脚本例子: (7.x语法) 复制代码1.//KeyDown、KeyDownS、KeyDownH2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的键盘都可以使用3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模拟方式的注意事项4.KeyDown 65,15.//65是A键的按键码,上面的语句表示按住A键1次命令名称:KeyPress 按键命令功能:键盘按键命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符)参数2 整数型,次数返回值:无脚本例子:(8.x语法) 复制代码1.//KeyPress、KeyPressS、KeyPressH2.//KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的键盘都可以使用3.//KeyPressH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模拟方式的注意事项4.KeyPress 65,15.//65是A键的按键码,上面的语句表示按A键1次6.7.KeyPress "A",18.//上面的支持按键字符,语句表示按A键1次脚本例子: (7.x语法) 复制代码1.//KeyPress、KeyPressS、KeyPressH2.//KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的键盘都可以使用3.//KeyPressH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模拟方式的注意事项4.KeyPress 65,15.//65是A键的按键码,上面的语句表示按A键1次命令名称:KeyUp 弹起命令功能:键盘弹起命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符)参数2 整数型,次数返回值:无脚本例子:(8.x语法) 复制代码1.//KeyUp、KeyUpS、KeyUpH2.//KeyUpS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的键盘都可以使用3.//KeyUpH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模拟方式的注意事项4.KeyUp 65,15.//65是A键的按键码,上面的语句表示松开A键1次6.7.KeyUp "A",18.//上面的支持按键字符,语句表示松开A键1次脚本例子: (7.x语法) 复制代码1.//KeyUp、KeyUpS、KeyUpH2.//KeyUpS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的键盘都可以使用3.//KeyUpH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模拟方式的注意事项4.KeyUp 65,15.//65是A键的按键码,上面的语句表示松开A键1次命令名称:WaitKey 等待按任意键命令功能:等待按任意键命令参数:参数1 整数型,可选:变量名返回值:无脚本例子:(8.x语法) 复制代码1.Key=WaitKey()2.//脚本运行到这一行会暂停,当用户按下键盘后继续执行,并且把用户的按键码保存在变量Key里3.If Key = 13 Then4. MessageBox "恭喜你按下了回车键"5.End If脚本例子: (7.x语法) 复制代码1.WaitKey Key2.//脚本运行到这一行会暂停,当用户按下键盘后继续执行,并且把用户的按键码保存在变量Key 里3. If Key = 134. Msgbox "恭喜你按下了回车键"5. EndIf二、鼠标命令 命令名称:GetCursorPos 得到鼠标位置坐标 命令功能:得到当前鼠标所在的位置坐标 命令参数:参数1 整数型,返回x 坐标参数2 整数型,返回y 坐标 返 回 值:无 脚本例子:(8.x 语法) 复制代码 1. GetCursorPos mx,my 2. //把当前鼠标位置的x 和y 坐标放在变量mx 和my 中脚本例子: (7.x 语法) 复制代码 1. VBSCall GetCursorPos(mx,my) 2. //把当前鼠标位置的x 和y 坐标放在变量mx 和my 中命令名称:GetCursorShape 得到鼠标形状 命令功能:得到当前鼠标的形状特征 命令参数:参数1 整数型,参数 返 回 值:整数型,鼠标的形状值 脚本例子:(8.x 语法) 复制代码 1. //参数: 0 是6.83之前的版本默认的参数 2. //参数: 1 可用于一些在参数0下无法区分鼠标形状代码的情况3. //下面是我们普通的WINDOWS 鼠标形状特征4. //不同电脑上鼠标形状特征也许不同,请使用"抓点抓色"功能抓取正确的鼠标形状特征5. Shape1 = 15933502876. //下面是我们访问网页超链接时候的手型鼠标形状7. Shape2 = 10559913298. shape=GetCursorShape(0)9. If shape = shape1 Then10. MessageBox "当前鼠标形状是普通的WINDOWS 鼠标"11. ElseIf shape = shape2 Then12. MessageBox "当前鼠标形状是手型鼠标"13. Else14. MessageBox "不认识当前鼠标形状!"15. End If脚本例子: (7.x语法) 复制代码1.//参数: 0 是6.83之前的版本默认的参数2.//参数: 1 可用于一些在参数0下无法区分鼠标形状代码的情况3.//下面是我们普通的WINDOWS鼠标形状特征4.//不同电脑上鼠标形状特征也许不同,请使用"抓点抓色"功能抓取正确的鼠标形状特征5.Shape1 = 15933502876.//下面是我们访问网页超链接时候的手型鼠标形状7.Shape2 = 10559913298.VBSCall Shape=GetCursorShape(0)9.If shape = shape110. MessageBox 当前鼠标形状是普通的WINDOWS鼠标11.ElseIf shape = shape212. MessageBox 当前鼠标形状是手型鼠标13.Else14. MessageBox 不认识当前鼠标形状!15.EndIf命令名称:GetLastClick 检测上次按过的鼠标键命令功能:检测上一次按下的鼠标代码命令参数:参数1 整数型,可选:变量名返回值:无脚本例子:(8.x语法) 复制代码1.Mouse=GetLastClick()2.If Mouse =32770 Or Mouse =32769 Then3. Msgbox "你按下了鼠标左键"4.End If脚本例子: (7.x语法) 复制代码1.GetLastClick Mouse2.If Mouse =32770 Or Mouse =327693. Msgbox "你按下了鼠标左键"4.EndIf命令名称:LeftClick 左键单击命令功能:模拟点击鼠标左键命令参数:参数1 整数型,次数返回值:无脚本例子:(8.x语复制代码1.//LeftClick、LeftClickS、LeftClickH法) 2.//LeftClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//LeftClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.LeftClick 55.//在当前鼠标的位置单击鼠标左键5次脚本例子: (7.x语法) 复制代码1.//LeftClick、LeftClickS、LeftClickH2.//LeftClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//LeftClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.LeftClick 55.//在当前鼠标的位置单击鼠标左键5次命令名称:LeftDoubleClick 左键双击命令功能:模拟双击鼠标左键命令参数:参数1 整数型,次数返回值:无脚本例子:(8.x语法) 复制代码1.//LeftDoubleClick、LeftDoubleClickS、LeftDoubleClickH]2.//LeftDoubleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//LeftDoubleClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.LeftDoubleClick 55.//在当前鼠标的位置双击鼠标左键5次脚本例子: (7.x语法) 复制代码1.//LeftDoubleClick、LeftDoubleClickS、LeftDoubleClickH]2.//LeftDoubleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//LeftDoubleClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.LeftDoubleClick 55.//在当前鼠标的位置双击鼠标左键5次命令名称:LockMouse 锁定鼠标位置命令功能:锁定鼠标位置,用户将不能通过移动鼠标而改变鼠标位置,而脚本仍可以改变鼠标位置命令参数:无返回值:无脚本例子:(8.x语法) 复制代码1.//在脚本开始的时候使用这个命令,可以有效防止用户误触鼠标引起脚本执行出错2.LockMouse3.Do4.Delay 10005.Loop脚本例子: (7.x语法) 复制代码1.//在脚本开始的时候使用这个命令,可以有效防止用户误触鼠标引起脚本执行出错2.LockMouse3.While True4.Delay 10005.EndWhile命令名称:MiddleClick 中键单击命令功能:模拟点击鼠标中键命令参数:参数1 整数型,次数返回值:无脚本例子:(8.x语法) 复制代码1.//MiddleClick、MiddleClickS、MiddleClickH2.//MiddleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MiddleClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.MiddleClick 55.//在当前鼠标的位置单击鼠标中键5次脚本例子: (7.x语法) 复制代码1.//MiddleClick、MiddleClickS、MiddleClickH2.//MiddleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MiddleClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.MiddleClick 55.//在当前鼠标的位置单击鼠标中键5次命令名称:MouseWheel 鼠标滚轮命令功能:滚动鼠标滚轮命令参数:参数1 整数型,滚动量返回值:无脚本例子:(8.x语法) 复制代码1.//如果滚动量为正,向上滚动;否则向下滚动.2.//仅支持Windows 2000以上的操作系统.3.MouseWheel 14.//把鼠标滚轮向上滚动1格脚本例子: (7.x语法) 复制代码1.//如果滚动量为正,向上滚动;否则向下滚动.2.//仅支持Windows 2000以上的操作系统.3.MouseWheel 14.//把鼠标滚轮向上滚动1格命令名称:MoveR 鼠标相对移动命令功能:鼠标相对移动到命令参数:参数1 整数型,X距离参数2 整数型,Y距离返回值:无脚本例子:(8.x语法) 复制代码1.//MoveR、MoveRS、MoveRH2.//MoveRS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MoveRH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.//当前鼠标在(100,100)点,使用下面语句5.MoveR 200,3006.//之后,鼠标就被移到了(100+200,100+300)处,也就是坐标(300,400)处7.//提示:使用硬件模拟方式不能碰键盘鼠标,否则会导致出错脚本例子: (7.x语法) 复制代码1.//MoveR、MoveRS、MoveRH2.//MoveRS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MoveRH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.//当前鼠标在(100,100)点,使用下面语句5.MoveR 200,3006.//之后,鼠标就被移到了(100+200,100+300)处,也就是坐标(300,400)处7.//提示:使用硬件模拟方式不能碰键盘鼠标,否则会导致出错命令名称:MoveTo 鼠标移动命令功能:移动鼠标到命令参数:参数1 整数型,X坐标参数2 整数型,Y坐标返回值:无脚本例子:(8.x语法) 复制代码1.//MoveTo、MoveToS、MoveToH2.//MoveToS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MoveToH: 硬件模拟方式,仅支持PS(圆口)的鼠标4.MoveTo 100,2005.//把鼠标移动到(100,200)这个点上6.intX=507.intY=1508.MoveTo intX,intY9.//把鼠标移动到(intX,intY)这个点上,需要5.50以上版本支持.脚本例子: (7.x语法) 复制代码1.//MoveTo、MoveToS、MoveToH2.//MoveToS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//MoveToH: 硬件模拟方式,仅支持PS(圆口)的鼠标4.MoveTo 100,2005.//把鼠标移动到(100,200)这个点上6.intX=507.intY=1508.MoveTo intX,intY9.//把鼠标移动到(intX,intY)这个点上,需要5.50以上版本支持.命令名称:RestoreMousePos 恢复上次保存的鼠标位置命令功能:保存当前鼠标位置命令参数:无返回值:无脚本例子:(8.x语复制代码法) 1.SaveMousePos2.//保存当前鼠标位置3.Delay 1004.MoveTo 500,205.Delay 1006.RestoreMousePos7.//将鼠标移动到上一次保存的鼠标位置8.//保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位置,9.//这样脚本执行后鼠标的位置就不会变化脚本例子: (7.x语法) 复制代码1.SaveMousePos2.//保存当前鼠标位置3.Delay 1004.MoveTo 500,205.Delay 1006.RestoreMousePos7.//将鼠标移动到上一次保存的鼠标位置8.//保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位置,9.这样脚本执行后鼠标的位置就不会变化命令名称:RightClick 右键单击命令功能:模拟点击鼠标右键命令参数:参数1 整数型,次数返回值:无脚本例子:(8.x语法) 复制代码1.//RightClick、RightClickS、RightClickH2.//RightClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//RightClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.RightClick 55.//在当前鼠标的位置单击鼠标右键5次脚本例子: (7.x语法) 复制代码1.//RightClick、RightClickS、RightClickH2.//RightClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的鼠标都可以使用3.//RightClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使用硬件模拟方式的注意事项4.RightClick 55.//在当前鼠标的位置单击鼠标右键5次命令名称:SaveMousePos 保存当前鼠标所在位置命令功能:保存当前鼠标位置命令参数:无返回值:无脚本例子:(8.x语法) 复制代码1.SaveMousePos2.//保存当前鼠标位置3.Delay 1004.MoveTo 500,205.Delay 1006.RestoreMousePos7.//将鼠标移动到上一次保存的鼠标位置8.//保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位置,9.//这样脚本执行后鼠标的位置就不会变化脚本例子: (7.x语法) 复制代码1.SaveMousePos2.//保存当前鼠标位置3.Delay 1004.MoveTo 500,205.Delay 1006.RestoreMousePos7.//将鼠标移动到上一次保存的鼠标位置8.//保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位置,9.这样脚本执行后鼠标的位置就不会变化命令名称:UnlockMouse 解除锁定鼠标位置命令功能:解除LockMouse命令对鼠标位置的锁定命令参数:无返回值:无脚本例子:(8.x语法) 复制代码1.脚本例子: (7.x语法) 复制代码1.//如果用户使用了LockMouse命令而没有使用UnlockMouse命令,按键精灵会在脚本结束时自动解除锁定2.UnlockMouse命令名称:WaitClick 按任意鼠标键继续命令功能:脚本执行到这一句暂停,按下任意鼠标键之后继续命令参数:参数1 整数型,可选:变量名返回值:无脚本例子:(8.x语法) 复制代码st_click=WaitClick()2.MessageBox "您按下了" & last_click脚本例子: (7.x语法) 复制代码1.WaitClick last_click2.MessageBox "您按下了" & last_click三、控制命令命令名称:Call 调用过程命令功能:调用过程命令参数:参数1 字符串型,过程名返回值:无脚本例子:(8.x语法) 复制代码1.Call子程序("我是子程序,被你调用了")2.EndScript3.//支持中文名变量4.Sub子程序(啊)5. Msgbox 啊6.End Sub7.//定义一个过程,可以在脚本中调用这个过程脚本例子: (7.x语法) 复制代码命令名称:Do 循环命令功能:条件循环命令参数:参数1 条件型,循环条件返回值:无脚本例子:(8.x语法) 复制代码1.例子1:2.//支持Exit Do 命令退出循环3.i=04.Do While i=05. Msgbox "我停不下来啦!!快住手"6.Loop7.//当循环条件成立的时候,反复执行循环体8.9.10.例子2:11.i=012.Do Until i=013. Msgbox "为什么没有循环到我呢?"14.Loop15.Msgbox "循环结束"16.//当循环条件成立的时候,离开循环体17.18.19.例子3:20.i=021.Do Until i=122. Msgbox "我停不下来啦!!快住手"23.Loop24.//当循环条件不成立的时候,反复执行循环体25.26.27.例子4:28.n=029.Do While true30. Msgbox "我将循环10次停下来!!"31.If n>=10 Then32. //当循环条件成立的时候,离开循环体33.Exit do34.End if35. n=n+136.Loop37.Msgbox n & "次"38.39.40.例子5:41.i = 042.Do43. MessageBox "ok"44.Loop While i <> 045.//条件放后面,前面的循环内容可以执行一次!脚本例子: (7.x语法) 复制代码1.无命令名称:For 循环命令功能:循环一定次数命令参数:参数1 整数型,循环次数返回值:无脚本例子:(8.x语法) 复制代码1.例子1:2.//支持Exit For 命令退出循环3.For i=0 To 94.Delay 1005.Next6.//循环10次7.8.例子2:9.//支持Exit For 命令退出循环10.For 1011.Delay 10012.Next13.//循环10次14.15.16.例子3:17.//支持Exit For 命令退出循环18.For i=0 to 19 step 219.Delay 10020.Next21.//循环10次22.23.例子4:24.//支持Exit For 命令退出循环25.For i=0 to 19 step 226.Delay 10027.If i>9 Then28.Exit For29.End If30.Next31.//循环5次脚本例子: (7.x语法) 复制代码1.For 102.Delay 1003.EndFor4.//循环10次命令名称:Function 函数命令功能:函数命令参数:多类型,多参数返回值:多类型脚本例子:(8.x语法) 复制代码1.//支持Exit Function 命令退出函数过程2.Msgbox 函数过程("我是函数,被你调用了")3.EndScript4.Function函数过程(a)5.函数过程=a6.End Function7.//定义一个函数过程,可以在脚本中调用这个函数脚本例子: (7.x语法) 复制代码1.无命令名称:Gosub 调用子程序命令功能:调用过程命令参数:参数1 字符串型,过程名返回值:无脚本例子:(8.x语法) 复制代码1.//可带参数传递2.Call子程序("我是子程序,被你调用了")3.EndScript4.Sub子程序(a)5. Msgbox a6.End Sub7.//定义一个过程,可以在脚本中调用这个过程脚本例子: (7.x语法) 复制代码1.Gosub子程序2.EndScript3.Sub子程序4. Msgbox "我是子程序,被你调用了"5.Return子程序6.//定义一个过程,可以在脚本中调用这个过程命令名称:Goto 跳转到标记命令功能:跳转到Rem标记处命令参数:参数1 字符串型,标号返回值:无脚本例子:(8.x语法) 复制代码1.Goto标记2.Delay 1003.Rem标记4.Msgbox "你直接跳到这里了!!,上面的延迟没有被执行!!"5.//跳转语句,可以跳转到rem标记过的标记处继续执行脚本例子: (7.x语法) 复制代码1.Goto标记2.Delay 1003.Rem标记4.Msgbox "你直接跳到这里了!!,上面的延迟没有被执行!!"5.//跳转语句,可以跳转到rem标记过的标记处继续执行命令名称:If 如果..则命令功能:判断表达式命令参数:参数1 条件型,表达式返回值:无脚本例子:(8.x语法) 复制代码1.例子1:2.i=03.If i=0 Then4. Msgbox "条件判断符合被通过!!"5.End If6.//通过判断表达式的取值,来执行后面的动作或控制7.8.例子2:9.i=110.If i=0 Then11. Msgbox "条件判断符合被通过!!"12.ElseIf i=1 Then13. Msgbox "否则条件判断符合被通过!!"14.Else15. Msgbox "否则!!"16.End If17.//通过判断表达式的取值,来执行后面的动作或控制脚本例子: (7.x语法) 复制代码1.i=02.If i=03. Msgbox "条件判断符合被通过!!"4.EndIf5.//通过判断表达式的取值,来执行后面的动作或控命令名称:IfColor 颜色判断命令功能:判断屏幕某点的颜色命令参数:参数1 整数型,屏幕X坐标参数2 整数型,屏幕Y坐标参数3字符串型,颜色16进制值参数4 整数型,判断条件返回值:无脚本例子:(8.x语法) 复制代码1.例子1:2.//判断条件(0:等于 1:不等于 2:近似等于)3.IfColor 860,27,"e1b072",0 Then4. Msgbox "颜色等于"5.Else6. Msgbox "颜色不等于"7.End If8.//判断坐标点(860,27)的颜色是否等于e1b0729.10.11.例子2:12.a=1:b=113.IfColor 650,118,"78F0E8",2 Then14. MessageBox "a"15.ElseIf b=a Then16. MessageBox "b"17.End if脚本例子: (7.x语法) 复制代码1.//判断条件(0:等于 1:不等于 2:近似等于)2.IfColor 860,27,e1b072,03. Msgbox "颜色等于"4.Else5. Msgbox "颜色不等于"6.EndIf7.//判断坐标点(860,27)的颜色是否等于e1b072命令名称:Rem 标记/注释命令功能:标记命令可当注释命令参数:参数1 字符串型,文字返回值:无脚本例子:(8.x语法) 复制代码1.//不支持数字开头的和符号作为标记名2.//标记命令.即可当注释,也可以为Goto跳转指令作标记3.Rem脚本开始脚本例子:(7.x语法) 复制代码1.//标记命令.即可当注释,也可以为Goto跳转指令作标记2.Rem脚本开始命令名称:RestartScript 重新启动脚本运行命令功能:重新启动脚本运行命令参数:无返回值:无脚本例子:(8.x语法) 复制代码1.For i=0 to 22.Delay 10003.Call Plugin.Msg.ShowScrTXT(0, 0, 1024, 768, "屏幕内容填写" & i, "0000FF")4.Next5.RestartScript //重新启动脚本运行脚本例子:(7.x语法) 复制代码1.无命令名称:Select 情况条件选择命令功能:根据情况选择条件判断命令参数:参数1 条件型,情况返回值:无脚本例子:(8.x语法) 复制代码1.//不支持判断语句如:Case a>0erVar 变量=0 "输入(0~9)数字"3.//<>---------------------------------------------以下是选择条件结结构判断4.Select Case变量5.Case 06. Msgbox "你输入的数字为:0"7.Case 18. Msgbox "你输入的数字为:1"9.Case 210. Msgbox "你输入的数字为:2"11.Case 312. Msgbox "你输入的数字为:3"13.Case 414. Msgbox "你输入的数字为:4"15.Case 516. Msgbox "你输入的数字为:5"17.Case 618. Msgbox "你输入的数字为:6"19.Case 720. Msgbox "你输入的数字为:7"21.Case 822. Msgbox "你输入的数字为:8"23.Case 924. Msgbox "你输入的数字为:9"25.Case Else26. Msgbox "你输入的数字不正确,请输入(0~9)数字!"27.End Select脚本例子:复制代码(7.x语法)1.无命令名称:Sub 子程序命令功能:定义一个过程命令参数:参数1 字符串型,过程名返回值:无脚本例子:(8.x语法) 复制代码1.//支持Exit Sub 命令退出子程序过程2.Call子程序()3.EndScript4.Sub子程序()5. Msgbox "我是子程序,被你调用了"6.End Sub7.//定义一个过程,可以在脚本中调用这个过程脚本例子:(7.x语法) 复制代码1.Gosub子程序2.EndScript3.Sub子程序4. Msgbox "我是子程序,被你调用了"5.Return子程序6.//定义一个过程,可以在脚本中调用这个过程命令名称:While 如果..则循环命令功能:条件循环命令参数:参数1 条件型,循环条件返回值:无脚本例子:(8.x语法) 复制代码1.i=02.While i=03. Msgbox "我停不下来啦!!快住手"4.Wend5.//当循环条件成立的时候,反复执行循环体脚本例子:(7.x语法) 复制代码1.i=02.While i=03. Msgbox "我停不下来啦!!快住手"4.EndWhile5.//当循环条件成立的时候,反复执行循环体四、颜色/图像命令命令名称:FindCenterColor 中心找色命令功能:在屏幕区域从中心开始查找指定的颜色命令参数:参数1 整数型,屏幕左上角x坐标参数2 整数型,屏幕左上角y坐标参数3 整数型,屏幕右下角x坐标参数4 整数型,屏幕右下角y坐标参数5 字符串型,16进制颜色值参数6 整数型,返回x坐标参数7 整数型,返回y 坐标返回值:无脚本例子:(8.x语法) 复制代码1.//FindCenterColor left,top,right,bottom,c,x,y2.//在区域内从中心到外围找颜色为c的点,把坐标保存在变量x和y中3.//left,top,right,bottom都是整数或者整数型变量,说明了区域的左,上,右,下界限4.//颜色是类似于"0000FF"的字符串,如果不取变量,别忘了加双引号5.//如果没有找到这个颜色,则x和y的值都被置为-16.FindCenterColor 0,0,800,600,"0000FF",x,y7.If x>0 and y>0 Then8. MoveTo x,y9.End If10.//在区域(0,0,800,600)中找红色("0000FF")的点,如果找到,则把鼠标移动到这个点脚本例子:(7.x语法) 复制代码1.//VBSCall FindCenterColor(left,top,right,bottom,c,x,y)2.//在区域内从中心到外围找颜色为c的点,把坐标保存在变量x和y中3.//left,top,right,bottom都是整数或者整数型变量,说明了区域的左,上,右,下界限4.//颜色是类似于"0000FF"的字符串,如果不取变量,别忘了加双引号5.//如果没有找到这个颜色,则x和y的值都被置为-16.VBSCall FindCenterColor(0,0,800,600,"0000FF",x,y)7.If x>0 and y>08. MoveTo x,y9.EndIf10.//在区域(0,0,800,600)中找红色("0000FF")的点,如果找到,则把鼠标移动到这个点命令名称:FindColor 找色命令功能:在屏幕区域从左到右、从上到下的查找指定的颜色命令参数:参数1 整数型,屏幕左上角x坐标参数2 整数型,屏幕左上角y坐标参数3 整数型,屏幕右下角x坐标参数4 整数型,屏幕右下角y坐标参数5 字符串型,16进制颜色值参数6 整数型,返回x坐标参数7 整数型,返回y 坐标返回值:无脚本例子:(8.x语法) 复制代码1.//FindColor left,top,right,bottom,c,x,y2.//在区域内从左到右,从上到下找颜色为c的点,把坐标保存在变量x和y中3.//left,top,right,bottom都是整数或者整数型变量,说明了区域的左,上,右,下界限4.//颜色是类似于"0000FF"的字符串,如果不取变量,别忘了加双引号5.//如果没有找到这个颜色,则x和y的值都被置为-16.FindColor 0,0,800,600,"0000FF",x,y7.If x>0 and y>0 Then8. MoveTo x,y9.End If10.//在区域(0,0,800,600)中找红色("0000FF")的点,如果找到,则把鼠标移动到这个点脚本例子:(7.x语法) 复制代码1.//VBSCall FindColor(left,top,right,bottom,c,x,y)2.//在区域内从左到右,从上到下找颜色为c的点,把坐标保存在变量x和y中3.//left,top,right,bottom都是整数或者整数型变量,说明了区域的左,上,右,下界限4.//颜色是类似于"0000FF"的字符串,如果不取变量,别忘了加双引号5.//如果没有找到这个颜色,则x和y的值都被置为-16.VBSCall FindColor(0,0,800,600,"0000FF",x,y)7.If x>0 and y>08. MoveTo x,y9.EndIf10.//在区域(0,0,800,600)中找红色("0000FF")的点,如果找到,则把鼠标移动到这个点命令名称:FindColorEx 模糊找色命令功能:在屏幕区域模糊查找指定的颜色命令参数:参数1 整数型,屏幕左上角x坐标参数2 整数型,屏幕左上角y坐标参数3 整数型,屏幕右下角x坐标参数4 整数型,屏幕右下角y坐标参数5 字符串型,16进制颜色值参数6 整数型,查找方式参数7 整数型,相似度参数8 整数型,返回x坐标参数9 整数型,返回y坐标返回值:无脚本例子:复制代码1.//FindColorEx left,top,right,bottom,c,type,similar,x,y2.//在区域内找颜色为c的点,把坐标保存在变量x和y中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学习游戏脚本制作:按键精灵键鼠同步器源码分享
来源:按键学院【按键精灵】小编之前也有使用过其它大牛编写的游戏同步的脚本,突然间对于它是如何实现同步感到十分好奇,我们一起来研究看看,同步到底是怎么实现的吧~
NO.1-同步的前提
前提
1同步的两个窗口需要是同一个应用窗口,并且窗口大小要相同
2同步窗口可以接收到按键的键鼠发送信息
3同步的窗口支持后台键鼠操作
NO.2-本节例子及其能实现的功能
例子
1画图工具,实现同步画图
2记事本,实现同步删除内容
功能①键鼠同步
②支持组合键
NO.3-思路大剖析
思路步骤
1获取主窗口和被同步窗口句柄
● WaitKey 命令等待键盘按下
○按下F6则获取当前鼠标指向的窗口句柄,作为主窗口句柄。

○按下F7 则获取当前鼠标指向的窗口句柄,作为同步窗口句柄。

●用Do循环来等待按键,当主窗口句柄和同步窗口句柄都获取到时,退出Do循环
●代码
Do
Key = WaitKey()
If Key = 117 Then
主窗口= Plugin.Window.MousePoint()
End If
If Key = 118 Then
同步窗口= Plugin.Window.MousePoint()
End If
Delay 500
If 主窗口<> 0 and 同步窗口<> 0 Then
Exit Do
End If
Loop
2设置两个窗口的窗口大小一致
●窗口大小一致,同步的时候鼠标才能移动到正确的位置。

●代码
Call Plugin.Window.Size(主窗口,800,600)
Call Plugin.Window.Size(同步窗口,800,600)
3获取主窗口的左上角坐标
●GetWindowRect 命令获取主窗口的左上角坐标
●代码
sRect = Plugin.Window.GetWindowRect(主窗口)
dim MyArray
MyArray = Split(sRect, "|")
L = Clng(MyArray(0)): T = Clng(MyArray(1))
4获取当前鼠标在主窗口的位置
●GetCursorPos命令获取当前鼠标位置
●代码
GetCursorPos mx, my
5计算主窗口内当前鼠标位置和窗口左上角距离
●公式:当前鼠标位置减去窗口左上角坐标值( mx-L, my-T)
6开始同步
●被同步窗口,使用按键后台键鼠命令,将鼠标移动到和主窗口相同的位置
(按键后台命令鼠标移动是以窗口客户区左上角坐标为基点)
●代码
Call Plugin.Bkgnd.MoveT o(同步窗口, mx-L, my-T)
●在主窗口内按下任意键时,同步窗口也执行同样的操作
●代码
Key = GetLastKey()
Call Plugin.Bkgnd.KeyPress(同步窗口, Key)
NO.4-代码
代码
Do
Key = WaitKey()
If Key = 117 Then
主窗口= Plugin.Window.MousePoint()
//Call Plugin.Window.Size(主窗口,800,600)
End If
If Key = 118 Then
同步窗口= Plugin.Window.MousePoint()
// Call Plugin.Window.Size(同步窗口,800,600)
End If
Delay 500
If 主窗口<> 0 and 同步窗口<> 0 Then
Exit Do
End If
Loop
Do
Mouse = GetLastClick()
If Mouse = 32769 Then //鼠标左键按下时ASCII码为 32769
sRect = Plugin.Window.GetWindowRect(主窗口)
dim MyArray
MyArray = Split(sRect, "|")
L = Clng(MyArray(0)): T = Clng(MyArray(1))
GetCursorPos mx, my
Delay 10
Call Plugin.Bkgnd.LeftDown(同步窗口, mx-L, my-T)
Delay 10
Do
Mouse = GetLastClick()
If Mouse = 0 Then //鼠标无点击操作
GetCursorPos mx, my
Delay 10
Call Plugin.Bkgnd.MoveT o(同步窗口, mx-L, my-T)
Delay 10
End If
If Mouse = 32770 Then //鼠标左键弹起时ASCII码为 32770
GetCursorPos mx, my
Delay 10
Call Plugin.Bkgnd.LeftUp(同步窗口, mx-L, my-T)
Exit Do
End If
Loop
End If
Key = GetLastKey()
Call Plugin.Bkgnd.KeyPress(同步窗口, Key)
Loop
NO.5-效果演示
演示
画图
记事本
注意画图和记事本,获取窗口句柄的时候请点击白白的客户区进行获取,因为我们是要对它的客户区进行操作
NO.6-温馨小提示
温馨小提示
*游戏窗口中的同步,需要注意几个窗口中人物的朝向和坐标是否相同
*如果坐标朝向不同,一个窗口里的角色往西边走一个往北边走,就无法达到预期同步任务的效果。

相关文档
最新文档