按键精灵1

按键精灵1
按键精灵1

按键精灵脚本教程

黑客2009-04-20 21:39:45 阅读260 评论0 字号:大中小订阅

按键精灵脚本教程

第一部分会以补红脚本入手,穿带几乎所有基础知识,为后续的章节打下坚实的基础。

第二部分则是2D和3D游戏的自动打怪脚本的分析与制作,从思路到代码编写,再到问题的解决

思路,给出详尽的描述。

第三部分转换思路,讲述其他非游戏的脚本如何制作,进而把按键精灵扩展到更多的领域。方便

日常生活所需。

第四部分超越按键,也是最后一部分,描述按键精灵结合独有的插件系统,编写出更加强大的软

件功能。

在本教程起草之日起,请朋友们耐心等待,因第一次写此类教程,本着对大家负责的态度,教程写好要反复修改,衡量各知识点的编排的章节与要点。进度会稍慢,以此保证,每周至少会更新一节。历

时半年之久,只求精品现世,望朋友们海涵。

初窥补红蓝脚本

----------------------------------------------------------------------------------------------------------------------------------

-----------------------------

本教程欢迎转载,但请注明:转载自简单游官方论坛:https://www.360docs.net/doc/4310788392.html,

第一章概述

第一章以补红脚本为基础,从简入繁,从易到杂,详细讲述补红脚本的制作方法与按键精灵基础知识。在描绘整个补红脚本的基础上,为第二章自动打怪脚本的制作方式铺垫基础。如果你能从坚持看完第一章,可以肯定的是,你会达到简单游已有的各专区补红蓝脚本的设计水平。

正文开始:

很多朋友都留言来信询问,如何制作自己的补红补蓝脚本。其实编写方法多种多样,不一而足。在本章里,会以补红蓝脚本做为切入点,实际讲述各种脚本的编写方法。并避开枯燥的编程概念讲解,以

实为主,通过大量的应用例子掌握按键精灵。

首先出现在本节中的一些术语做一个简短的说明:

坐标——屏幕象素的坐标值,如当前分辨率为1024×768,则屏幕左上角的坐标是:0,0。右下

角则是:1024,768。

抓色/抓点——抓取屏幕内某一象素点的坐标极颜色。使用方法:控制命令->抓点坐标/颜色->在面图上点左键,加入到坐标点->退出抓点->选好坐标颜色后->插入

关键字——按键精灵的保留字,不可以做变量使用。

了解以上内容后,就可以开始我们的脚本之旅了。

先考虑手动玩的情况,当自己的血或者魔法值低于某一临界值时,我们就要使用各种补血补魔的药品了。同样,按键精灵也通过这点判断,如果屏幕坐标的某一点颜色,不等于血或魔的颜色,就该吃药

了。我们来看在按键精灵里的写法:

IfColor 138 109 ef844b 1

KeyPress 49 1

EndIf

对以上代码解释如下:

如果(138,109)的颜色不等于#ef844b颜色,则

按键<1>

条件结束

其中138,109是血条上任意问题,ef844b是血的颜色。

ifcolor——是按键精灵的关键字,表示这句是判断颜色。

138 109——分别是屏幕上X,Y的坐标值。

ef844b——是屏幕上的颜色16进制的BGR值

1——代表条件,该位置可以设置0,1,2三个值,0是相等,1是不等,2是模糊相等

只有以上的代码是不足够的,原因在于以上代码只运行一次。我们要让他不断的检测颜色,这

样就达到自动补红补蓝的目的了。

看两句代码:

Rem s

Goto s

解释:“Rem s”可以理解为在该位置做一个标记s。而“Goto s”则是无条件跳到此标记执行,其

中s可以自定义,跳到Rem [标识符]处。rem和goto都是按键精灵的关键字。

这里说一下程序运行机制,每行代码都有行号,脚本解释器要一行一行代码的执行下去,直到执行最后一行代码或碰到EndScript语句(该语句在后面会有讲解),没有任何代码可执行了,程序就退出。我们的目的是让程序持续不断的进行检测,有了rem .. goto就完美解决了。来看最后的实例:

Rem s

IfColor 138 109 ef844b 1

KeyPress 49 1

EndIf

Delay 100

Goto s

解释:Delay 是暂停运行的关键字,后面跟随的100,表示暂停0.1秒。

整个程序结构清晰,一目了然,不再做过多的解释。补蓝脚本留做作业。

回顾本节所讲解的关键内容:

ifcolor .. endif 关键字的使用方法

IfColor [X坐标] [Y坐标] [GBR颜色] [对比条件]

rem .. goto 关键字的使用方法

Rem [标记名]

Goto [标记名]

delay 关键字的使用方法

Delay [暂停时间,单位毫秒]

----------------------------------------------------------------------------------------------------------------------------------

-----------------------------

再接再力渗透补红脚本

本教程欢迎转载,但请注明:转载自简单游官方论坛:https://www.360docs.net/doc/4310788392.html,

作者:舞月

回顾上节所说的内容:

1、ifcolor [x] [y] [颜色] [对比]

ifcolor - 关键字,用于颜色对比

x - 屏幕上横坐标

y - 屏幕上枞坐标

颜色- BGR三元色

对比- 0:相等1:不等2:约等

2、Rem [标记]

rem - 关键字,在该行号做个标记,为goto做标记

3、Goto [标记]

goto - 关键字,跳转到相关标记。标记可以是任何字母、数字、汉字、特殊符号,但该标记必

须唯一。否则会错误跳转。

4、Delay [毫秒]

delay - 关键字,暂停XX毫秒继续运行。

我碰到过不止一款游戏,用上一节所讲述的脚本,使用并不正常。通过测试分析,了解到游戏画面与血条画面刷新并不同步。这会导致判断错误,解决办法是通过取游戏血条的底色来判断。这个方法只适合底色不变,或变化不大的游戏。对比值给0或2

IfColor 138 109 1b7c5d 0

KeyPress 49 1

EndIf

但如果底色是透明的(随环境变化而变化,没有固定的颜色),就比较不好做了,比如韩国的

Archlord这款游戏。先给出一篇代码,然后实例讲解。

i = 0

For 5

IfColor 138 109 2312ff 0

i = i + 1

EndIf

If i = 0

//加血

EndIf

本段代码引出了两个概念:

1、变量:如第一行的i = 0和ifcolor体中的i = i + 1

2、循环语句:for 5

3、条件语句:if i = 0

下面分别对这两点进行讲解。

1、变量:

变量的概念,对于初学者来说,确实不容易理解。为了加深理解,这里放弃书面语描述,先讲

变量如何使用。

我们来描绘这样一段生活中的场景:手里拎了很多东西,并想进超市,那么必然要存包,在从超市出来后,再把存起来的东西取出来。再描绘另外一段生活中的场景:我们取银行存钱,拿着银行卡,

可以在很多地方取钱消费。

就这样一个存和取的动作,已经代表了变量的应用,变量就是以上描述中的柜子和银行卡,我们把数据存到变量中,然后在需要该数据的时候再从变量拿出来用。但实质上,变量并不是柜子,他是一个代替品,或者说是代名词,假设我们把数字22存到变量a中,那么a就代表了22,当我们需要使用这个22的时,直接用a来代替他就可以,22并不会从a中消失。而他的特性就像柜子一样,可以储存我们

需要他储存的各种数据。

看具体实例:

a = 22 //在这里我们给一个变量名叫a的变量,赋值22

b = a //这里则是把a变量的值22取出,赋值给b变量,而a变量的值不会消失,此时a和

b的值都是22

c = a + b //把a和b的值取出来做加法操作,赋值给c变量,此时a和b的值都是22,c的值

是44

a = a - 1 //这句和数学上的理解就不一样了,首先从a中取出值22,然后减1,最后的结果再

送回给a,此时a的值是21

把以下代码复制到按键精灵中,运行一次,看看效果,会加深理解。

VBSCall Call MessageBox(a)

b = a

VBSCall Call MessageBox(b)

VBSCall Call MessageBox(a)

c = a + b

VBSCall Call MessageBox(a)

VBSCall Call MessageBox(b)

VBSCall Call MessageBox(c)

a = a - 1

VBSCall Call MessageBox(a)

对于变量的描述,到此还远远不够,在此,仅解释了变量做加减法的操作,不过对于解释本节开始的代码已经足够。更加复杂的内容,会在以后陆续讲到。

2、循环语句:for 5

循环语句比较容易理解,for 5的作用就是循环for到endfor中的数据5次。实际看一次效果会

彻底理解,不再做过多解释:

for 3

VBSCall Call MessageBox(3)

endfor

这段代码会弹出三次3。

3、条件语句:if i = 0

从语意上,我们看的出,如果i等于0,则做某些操作。首先要说的,if作为按键精灵关键字,承担的作用就是分支语句块,关于这点会在下节做详细的描述。if和ifcolor两个关键字是按键精灵唯一的条件语句。条件语句,既满足条件,则执行某些操作,否则执行另外一些操作。在if后面会跟随一个条件判断句,在这里就是i=0。条件判断句的结果只有两种:“真”或“假”,“是”或“非”。要么正确,否则就不正确,没有中立的存在。从变量的解释中,我们看到i的值可能是0,也可能是1到4中任何一个数。如果i是0

的话,那么i=0的结果就是“真”,否则他就是“假”。

看具体实例:

if 1=2 //假

把下面代码复制到按键精灵中,运行一次,会对if语句有更深的理解。

a=1

if a=1

VBSCall Call MessageBox(1)

endif

if a=0

VBSCall Call MessageBox(0)

endif

这里有一个可能引起歧义的地方,我在这里做一个解释。

我们发现在变量赋值的时候,我们使用“=”。而两个值对比的时候,我们还是使用“=”。到底这个=号有几种作用,什么时间发生什么作用呢?这里我说明一下:在=号不需要任何返回值的情况下,则是“赋值运算符”,需要返回值的情况,则是“比较运算符”。在if当中,if语句后面,需要有一个真假值的存在,

以判断if下面的语句是否执行。

通过以上两个概念的简单理解,我们来分析一下本节开始部分代码的流程:

i = 0 //首先给变量i赋值0

For 5 //循环执行5次ifcolor语句

IfColor 138 109 2312ff 0 //如果左边(138,109)的颜色等于2312ff

i = i + 1 //把i变量的值加1

EndIf //结束ifcolor语句块

EndFor //结束循环体

If i = 0 //如果循环5次的颜色都不相等,则

//加血

EndIf //结束if语句块

相信以上的解释,已经完整描述了该代码的作用。并且我们发现if和ifcolor的结束关键字都是endif。我实际编写代码中,我发现很多朋友都有忘记写endif的时候。此点千万切记,不要忘记写哦。

回顾本节所讲解的关键内容:

1、变量的简单使用与赋值方法

2、if .. endif语句的使用方式

3、for .. endfor语句的使用方式

----------------------------------------------------------------------------------------------------------------------------------

-----------------------------

高级补红蓝脚本写做的基础知识

本教程欢迎转载,但请注明:转载自简单游官方论坛:https://www.360docs.net/doc/4310788392.html,

作者:舞月

本节比较特殊,并不会讲述实际的脚本编写技巧,而是对前两节内容并没表述清晰,或还存在

疑问的地方,进行深入剖析。以求把握设计的精髓。

回顾上一节内容:

1、变量的简单使用与赋值方法

2、if .. endif语句的使用方式

3、for .. endfor语句的使用方式

变量的详细讲述:

在上节中,我们知道了变量的简单应用,这里会对变量有一个详细清晰的描述,并提出一些错误的方法,以求避免。在之前的教程发出去之后,看客们的热情异常高涨,根据之前所讲内容,纷纷编写出自己的脚本,但在其中发现了某些影响全局的错误。其中就包含变量的错误使用。好,我们开始。

VBS中,变量只有一类型,既变体型。何为变体型,这要从VB中讲起。VB中变量分为很多在种类型,包括整型、浮点型、字符串类型等等。对于我们学习按键精灵的编写,深揪VB中的变量类型

是毫无用处的,这里表过不谈。

在VBS变量只有一种类型,什么是数据类型呢?我们知道变量是一个存储空间,在VB中每一种变量所能存储的数据是不同的。比如:a=1那么a变量存储的是整数类型,而b=1.1。那么b变量存储的是小数类型。如果这时把a=b,则出现错误。因为整数类型并没有存储小数类型的能力,VB解释器会出

现一个执行期错误。关于数据类型,如果想知道更多,在搜索引擎里可以找到非常多的内容。当然,如果

不知道,对我们的课程也不会有丝毫影响。

回过之前的话题,VBS变量只有一种数据类型,这种数据类型叫做变体型,既是说,无论你向变量里储存任何数据,那么该变量都可以自动变为相应的数据类型。明确了这点,我们就可以在按键精灵里随意赋值了。这里要提一下字符串类型。因为字符串与其他数据类型的不同性,所以使用方法会略有不

同。也是初学者经常出现的问题。

我们暂且可以把数据类型理解为两种:数字类型和字符类型。数字类型包含我们日常所能碰到的所有类型,包括整数,小数,负数。而字符类型则是英文的26个字母及中国汉字和其他国家的文字。

数字类型的赋值方法:

a = 32

b = 2.2

c = -25

d = -4.4

其中a, b, c, d分别是整数,小数,负数。

字符串的赋值方法:

x = "abcdefg"

y = "1234567890"

z = "你好"

我们发现字符串类型和他的名字一样,是一个一个的字符串接起来的。并且在其左右分别有一

个双引号。

通过以上的例子,我们看到,数字类型与字符串类型的唯一区别就在于是否有这个双引号。那么我们可以这样说,只要有双引号的,就是字符串类型,其他都是数字。我们看一个错误的例子,加深理

解:

a = 32 //这句是对滴

a = "bb" //这句也是对滴

a = "cc"dd" //这句出现错误,程序会以为是字符串cc,而后面dd"无法解析,所以整句话

出现错误。

vbscall call messagebox(a) //这里的结果是bb,按键精灵忽略所有发生的错误,继续一条

运行。

有朋友会问,那如果我要在整个字符串中加一个"号该如何解决呢,这里我告诉大家:在"号内把两个""连起来就可以了,在这里第一个"是转义字符,这里不比深揪,会用就好了。看例子:

a = "a""b""c" //a的值是:a"b"c

a = "a""b""c""" //a的值是:a"b"c"

a = """a""b""c" //a的值是:"a"b"c

最后一个变量要说的地方,字符串相加。

我们都知道数字可以相加,那么字符串如何相加呢,这里我透彻的告诉大家。按键精灵中的字符串相加有两种运算符,分别是“+”和“&”。“+”只有在两边都是字符串的情况下才可使用。如果两边都是数字,或者只有一方是数字的情况下,使用“&”就可以达到字符串连接的目的。当然,两边都是字符串也可使用“&”号。这里我推荐大家在做字符串连接的时候,不要使用“+”,统一使用“&”操作。这样,看见“+”号就是数字相加;看见“&”就是字符串相加了。这样写也是良好的编程习惯。

一、if语句详解:

在按键精灵中,只有两个if语句,分别是:ifcolor和if。在前面两节对if和ifcolor都有明确的

介绍。这里补充之前没有提到的地方。

先看if语句

原形:if [条件判断式] .. else .. endif

其中条件判断式比较容易理解,在前一节已经略微的讲过了。这里结合各种数据类型,详细的

讲解出来。

if [条件] .. else .. endif

其中条件是表达式,需要返回真假值,根据返回值执行其余代码。if .. else .. endif组成了一个条件分支。要么执行if到else中的语句,要么执行else到endif中的语句。而选择分支的条件就根据条件返回的真假值了,返回真,就执行if到else中的代码,返回假就从else开始执行。在没有else的情况下,则条件返回真就执行if到endif中的语句,否则就跳过整个if块,从endif后面开始执行。

这里强调一下条件部分该注意哪些问题:

1、if a=b这样的语句中,a和b必须是同一种类型。也就是说a和b都要是数字,或者a

和b都是字符串。

2、if a>b这样的语句中,a和b必须是数字类型,如果拿字符串对比,可能出现结果和你

的预期并不相同。

3、if a=b这样的语句中,=号两边分别是数字和字符串,应该避免出现这种情况。假设出现了这种情况,我说一下解释的过程,首先把字符串转换成数字,然后再进行比较。if 1="1"这样的语句是没有问题的,因为"1"可以自动转成数字1。而if 1="a"那么整句就是出现错误,在按键精灵中忽略这种错误,结果就是if语句后面的语句会强制执行,并导致以后的代码部分失效(堆栈不匹配)。所以使用if语句的时候,应该尽量避免数字和字符串比较,如果真要这样的话,最好执行一个强转函数,看例子:

a="123456"

b=123456

if int(a) = b

endif

这里我们使用了一个int(a)把a转换成数字类型。函数查找请使用按键精灵中的“vbscript生成

器”

二、再来看ifcolor

原形:ifcolor [x] [y] [颜色] [条件] .. else .. endif

其中x, y是屏幕坐标位置;

颜色是你要对比的颜色;

条件非常的重要,它只能给三个值0,1,2中的任意一位。下面接三个值分别予解释。

0是x,y点的真实颜色与我们给的颜色想对应,则是真,否则是假。

1恰好与0相反,x,y点的真实颜色与我们给的颜色一样的话,则是假,否则是真。

而2是模糊比对,这里详细解释一下。我们知道屏幕上的颜色由RGB三元色组成,每种色的染料比例不同,屏幕上的色就不相同。而在windows中,每种色的可变化的值是从0-255。纯白色点的三元色值都是255,而纯黑色则都是0。用16进制表示就是从00到FF.不知道16进制和10进制是怎么转换成的,可以用附件中的计算器选科学型转换。所以我们看到按键精灵取到的颜色是类似于0A1B2C 这样16进制表示的代码,分别是由GBR三种颜色组成。知道了这点,就可以正确的理解模糊值了。(这里透露一个小秘密,按键精灵的模糊值范围是50。如果你看不懂,就略过这里,只要知道模糊判断不会把

绿色判断成红色就可以了)

else同if语句,如果找到颜色则不执行else。找不到则执行。

总结今天说讲内容:

1、按键精灵中变量只有一种数据类型。

2、字符串类型要用双引号括起来,及在字符串中增加"字符

3、“&”号作为字符串相连符

4、按键精灵会忽略所有的错误,而执行下一条

5、if .. else .. endif的执行顺序。以及数字、字符串的比较方法。

6、ifcolor .. else .. endif的执行顺序。

本想在这节把循环也讲了,但所涉及的内容实在太多,留在下节里说吧。循环说完了,就步入

到应用代码编写阶段了。

按键精灵四级认证选择题及答案

F o r a=1T o5...N e x t循环结束后变量a的最终值。答:6 a = 1 : execute ("a=2*a"),a的值为? 答:2 如下代码,c的值为? a = 1 : b = - 1 c = a xor b 答:-2 答:系统中所有已显示的窗口句柄 在不确定颜色的情况下,寻找具备特定点阵信息的图形应该使用下列哪条命令 答:5 使用按键抓抓找窗口句柄时,如果用多个标题和运行特征完全相同的窗口,下列哪种方法不能确定每个句柄对应的窗口? 答:查看句柄信息 网页插件可以与网页版按键精灵(WQM)对接,实现自动填表等功能,在使用这个插件前,必须执行那条命令进行初始化? 答:Bind RGB命令可以实现使用红、绿、蓝三原色分量混合为一个颜色值,与此命令功能相反的命令是? 答: 答:可以获得透明窗口色

GetCursorShape命令有几种获取鼠标形状的方式? 答:2 ``对 关于Msgbox命令描述错误的是? 答:Msgbox命令一定没有返回值 ``` 代码 a = ",," : For 3 : a = Join(Split(a, ","), ",,") : Next 执行后,变量a包含多少个逗号? 答:16个 使用Access插件对数据库进行增删改查操作时,应先使用哪条命令连接到数据库? 答: 如何确定一个句柄对应的窗口是否存在? 答: 在网页版按键精灵(WQM)中调用JS代码应该使用下列哪条命令: 答: 以下哪个对Select命令的描述是错误的? 答:Select支持判断语句(例如:a>0) 下列操作中,哪一种是后台模拟无法实现的? 答:与Ctrl相关的组合键 获取窗口的客户区矩形(窗口边框内的空间)应该使用哪条命令? 答: 表达式 a = 1 Or 2 成功执行后,变量 a 的值应该为? 答:3

新浪·按键精灵开发者一级认证参考答案

按键精灵开发者一级认证参考答案 1、关于按键精灵的描述,以下正确的是? 正确答案:按键精灵是一款绿色的模拟键盘鼠标操作的软件 2、不能用抓抓工具直接获取的是? 正确答案:PID 3、按键精灵的产品包括以下哪一个? 正确答案:按键盒子 4、UnlockMouse命令的含义是? 正确答案:解除锁定鼠标位置 5、LeftDown命令的含义是? 正确答案:左键按下 6、GetLastKey命令在获取一次ANSI字符代码后继续循环执行返回值是? 正确答案:0 7、按键精灵默认的启动热键是? 正确答案:F10 8、按键精灵自带的程序不包括下列哪一个? 正确答案:iexplore.exe 9、下列哪一种方法不能够正确输入命令? 正确答案:鼠标右键单击命令 10、SaveMousePos命令的含义是? 正确答案:保存当前鼠标所在位置

11、按键精灵自带的抓图工具是? 正确答案:按键抓抓 12、按键精灵里运算符乘号是? 正确答案:* 13、哪一种方法能够找到命令的帮助说明? 正确答案:在全部命令中搜索命令,点击后帮助说明会出现在编辑器下方. 14、RightUp命令的含义是? 正确答案:右键弹起 15、SetSimMode命令的含义是? 正确答案:设置模拟方式 16、GetLastClick命令的含义是? 正确答案:检测上次按过的鼠标键 17、MoveTo命令的含义是? 正确答案:移动 18、录制脚本之后需要重新运行这段脚本,下列哪个做法是正确的? 正确答案:保存脚本之后点击"运行"按钮 19、与取色判断命令没有直接关系的参数是? 正确答案:按键码 20、哪一类脚本程序是按键精灵官方授予销售权的? 正确答案:小精灵商业版 21、KeyUp命令的含义是?

按键精灵插件使用说明

函数说明: 1.TransformWindow(窗口句柄) 功能:转换窗口,对要取后台图色数据的窗口使用该函数后才能取后台图色数据。如果是DX图形绘图的窗口,DX绘图区域必须有部分移到屏幕外,否则无法使用。转换窗口后,有些窗口(特别是大多数游戏的)要等待一会儿才能用其它函数可靠地取到后台图色数据,等待的时间要大于画面两次刷新的时间间隔。转换后到取消转换前,可以无限次使用取到后台图色数据的命令,即通常只需要转换一次。 参数: 1)窗口句柄:整型数。 2.UnTransformWindow(窗口句柄) 功能:取消窗口转换,DX图形绘图的窗口,用过TransformWindow后,必须用UnTransformWindow取消窗口转换才能让DX绘图完全移到屏幕中,否则后很严重(不会损坏电脑的),自己试下就知道了。 参数: 1)窗口句柄:整型数。 3.GetPixelColor(窗口句柄,横坐标,纵坐标)[颜色值] 功能:获得指定点的颜色 参数: 1)窗口句柄:整型数。 2)横坐标:整型数,窗口客户区坐标。 3)纵坐标:整型数,窗口客户区坐标。 返回值: 颜色值:整型数。 例子: Plugin hwnd=Window.Foreground() Plugin Window.Move(hwnd,-30,10) Plugin BGCP2_02.TransformWindow(hwnd) Delay 200 Plugin color=BGCP2_02.GetPixelColor(hwnd,0,0) MsgBox CStr(Hex(color)),4096,"颜色" Plugin BGCP2_02.UnTransformWindow(hwnd) Plugin Window.Move(hwnd,10,10) 4.CmpColor(窗口句柄,横坐标,纵坐标,颜色,颜色最大偏差)[是否满足条件] 功能:判断指定点的颜色,后台的IfColor 参数: 1)窗口句柄:整型数。 2)横坐标:整型数,窗口客户区坐标。 3)纵坐标:整型数,窗口客户区坐标。 4)颜色:整型数。 5)颜色最大偏差:整型数。游戏中不同电脑上显示的颜色会有点偏差,这个参数用于兼容这种情况,它设置的是RGB各颜色分量偏差的最大允许值,取值范围是0-255,0是无颜色偏差。 返回值: 是否满足条件:布尔值,布尔值是用来表达是真是假的,指定点的颜色满足条件就返回真,否则返回假。 例子: Import "BGCP2_02.dll" Plugin hwnd=Window.Foreground() Plugin Window.Move(hwnd,-30,10) Plugin BGCP2_02.TransformWindow(hwnd) Delay 200 Plugin tj=BGCP2_02.CmpColor(hwnd,6,5,&HFF7F00,30) If tj=true MsgBox "满足条件",4096 Else MsgBox "不满足条件",4096 EndIf Plugin BGCP2_02.UnTransformWindow(hwnd) Plugin Window.Move(hwnd,10,10) 5.FindColor(窗口句柄,左边界,上边界,右边界,下边界,颜色,颜色最大偏差,查找方式,横坐标,纵坐标) 功能:找色 参数: 1)窗口句柄:整型数。 2)左边界,整型数,用于设置找色范围,找色区域左上角的横坐标(窗口客户区坐标)。 3)上边界,整型数,用于设置找色范围,找色区域左上角的纵坐标(窗口客户区坐标)。 4)右边界,整型数,用于设置找色范围,找色区域右下角的横坐标(窗口客户区坐标)。 5)下边界,整型数,用于设置找色范围,找色区域右下角的纵坐标(窗口客户区坐标)。

新浪·按键精灵开发者二级认证参考答案2016

按键精灵开发者二级认证参考答案 1、WaitKey命令有几个参数? 正确答案:0 2、颜色值为"FFFFFF"是什么颜色? 正确答案:白色 3、鼠标左键弹起的命令是? 正确答案:LeftUp 4、按键码53是下列哪一个按键? 正确答案:5 5、Delay命令有几个参数? 正确答案:1 6、延迟1天,以下哪一句代码是正确的? 正确答案:Delay 1000*60*60*24*1 7、下列哪一个命令会暂停脚本? 正确答案:WaitClick 8、EndScript命令的意义是? 正确答案:脚本停止运行 9、判断条件应该使用下列哪个语句? 正确答案:If语句 10、按键精灵找图命令需要的图片格式是下列哪一个? 正确答案:*.BMP 11、以下哪一个不属于按键精灵的"全部命令"? 正确答案:远程嗅探命令 12、鼠标所在位置为(100,50),经过命令 MoveToS 50+50,100 后鼠标 所在位置为? 正确答案:100,100 13、不能正确调用KeyPress命令的写法是? 正确答案:KeyPress "FB",1

正确答案:RightClick 15、组合键"CTRL+C"的正确按键顺序是? 正确答案:按下"CTRL",点击"C",弹起"CTRL" 16、"F10"的按键码是? 正确答案:121 17、以下哪一个命令能够延时1个小时? 正确答案:delay 1000*60*60 18、下列RGB颜色值,书写正确的是? 正确答案:"DD" 20、区域找图的命令是? 正确答案:FindPic 21、循环可以使用下列哪个语句? 正确答案:For语句 22、附件中哪一种文件可以不经过释放直接使用? 正确答案:BMP 23、以下哪一个写法不能点击"shift"键? 正确答案:KeyPress 60, 1 24、取指定点颜色的命令是? 正确答案:GetPixelColor 25、锁定鼠标位置是下列哪一个命令? 正确答案:LockMouse 26、延迟3分钟,以下哪一句代码是正确的? 正确答案:Delay 1000*60*3 27、鼠标右键弹起的命令是? 正确答案:RightUp 28、脚本停止运行命令是哪一个? 正确答案:EndScript

C#中如何调用按键精灵插件

C#中如何调用按键精灵插件 原来是为了在游戏外挂中发送键盘鼠标消息,自己写个sendmessage或者是postmessage又比较麻烦。于是google了一下,发现现在很多脚本工具都有这个功能,其中按键精灵的一个叫361度的插件已经有这个的实现,还验证过了。为什么不拿来己用呢?首先分析一下按键精灵插件的接口,发现: 插件的功能函数没有直接暴露出来,而是通过一个GetCommand的函数返回一个函数描述结构。 接下来看看这个结构: 上面这个结构我已经是转换成C#的对应结构了,原结构可以查看按键精灵提供的插件C++接口源代码。 这个结构里面的handlerFunction 实际上是指向函数的入口点,也就是一个函数指针,每个函数都一样是2个参数: typedef int (*QMPLUGIN_HANDLER)(char *lpszParamList, char *lpszRetVal); 转换为C#中相应的委托为: delegate void Invoker(string parameters, StringBuilder returnValue); 大家注意到,有两个参数,c++原型中都是char*类型,转换为C#的delegate后第一个为string,第二个为StringBuilder。这是因为parameters是in的,dll中不会对这个参数做修改,而returnValue是out的,dll返回时候要把返回值写入这个StringBuilder的缓冲区。 原本的想法是用C++写一个桥来调用dll,不过在.net 2.0 中,框架直接提供了

Marshal.GetDelegateForFunctionPointer 来转换一个函数指针为一个委托,这就方便多拉。请看下面代码,注意看BGKM_ExecuteCommand 这个函数里面的东西。 using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace WJsHome.Game.Utility { public class QMacro { [DllImport("BGKM5.dll", EntryPoint = "GetCommand")] static extern IntPtr BGKM_GetCommand(int commandNum); [StructLayout(LayoutKind.Sequential)] class QMPLUGIN_CMD_INFO { public string commandName; public string commandDescription; public IntPtr handlerFunction; public uint paramNumber; } delegate void Invoker(string parameters, StringBuilder returnValue); static string BuildParameters(params object[] parameters) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < parameters.Length; i++) { sb.Append(parameters[i].ToString());

2015年-10-16更新按键精灵开发者 最全认证三级答案

1.True的值是?-1 2.返回值=Round( 3.141592,5),求返回值是什么?3.141592 3.False的值是?0 4.选出下列代码中无法实现循环效果的选项.Fori=9To0:Delay100:Next 5.PrintScreen命令支持哪种格式截图?jpg 6.a=10.05Mod2,那么a的值为?0 7.关于自定义变量的描述以下哪一个是正确的?自定义变量可以是类 8.数组MyArray(5)的最大可用下标为?5 9.VarType函数的作用是?返回指示变量子类型的值 10.以下哪一个命令可以将表达式转化为字符串?Cstr 11.常数VbOk的值为?1 12.文本不存在,以下哪一个命令会新建立文本?WriteFileEx 13.Erase语句的含义是?重新初始化固定大小数组的元素,并释放动态数组的存储空间 14.下列哪一个函数可以取数组最大可用下标?Ubound 15.在大型脚本的设计中,以下哪一个命令不推荐使用?goto命令 17.a=34,b=&H22,下列描述哪一个是错误的?cstr(b)的值为 "&H22" 16.MsgBox命令最多可以使用几个参数?5 18.以下哪一个命令需要绑定WQM使用?CallPlugin.Web.ScrollTo(0,0) 19.假如“神盾”图像存在,以下无法识别到图像的命令是? FindPic0,0,1024,768,"神盾.jpg",0.9,intX,intY 20.DateDiff命令有几个必选参数?且返回值类型是?3个必选参数,返回值类型为:整数 21.myarray=Array(1,2,3,4,5),那么Ubound(myarray)的值为?4 22.以下命令可以获取当前窗口所在屏幕位置精确坐标的是? Text=Plugin.Window.GetWindowRect(Hwnd) 23.FindMultiColor命令的颜色特征点最少为几个?2个 24.如果有多个重复标题的窗口,以下哪个命令能够直接获取到所有对应窗口的句柄?Plugin.Window.Search 25.QUI输入框控件返回值的变量类型是?字符串 26.以下哪一个返回值是字符串?

按键精灵教程

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

(完整版)按键精灵默认插件命令大全

目录 插件命令面板 - BKgnd后台控制 (6) KeyPress 按键 (6) KeyDown 按下 (7) KeyUp 弹起 (8) LeftClick 左键单击 (9) LeftDoubleClick 左键双击 (10) LeftDown 左键按下 (11) LeftUp 左键弹起 (12) RightClick 右键单击 (13) RightDown 右键按下 (14) RightUp 右键弹起 (15) MiddleClick 中键单击 (16) SendString 发送字符串 (17) MoveTo 鼠标移动 (18) GetPixelColor 得到指定点颜色 (19) FindColor 区域找色 (20) FindColorEx 模糊找色 (21) FindCenterColor 中心找色 (22) 插件命令面板 - Color颜色 (23) ColorToRGB 颜色转RGB (23) GetRGB 得到RGB分量合并值 (23) ColorToHSL 颜色转HSL (24) CountColor 区域搜索颜色数量 (25) FindMutiColor 区域多点找色 (26) FindShape 区域多点找形状 (27) 插件命令面板 - Console控制台 (27) Open 打开 (28) Close 关闭 (29) ReadLine 读取一行 (29) WriteLine 写入一行 (29)

WaitKey 等待按键 (30) 插件命令面板 - Encrypt加解密 (30) Md5String 字符串MD5加密 (30) Md5File 文件MD5加密 (31) 插件命令面板 - File文件 (31) CloseFile 关闭文件 (31) CopyFile 复制文件 (31) CreateFolder 创建文件夹 (32) DeleteFile 删除文件 (32) DeleteFolder 删除文件夹 (33) ExistFile 判断文件(旧) (33) GetFileLength 得到文件长度 (33) IsFileExit 判断文件 (34) MoveFile 移动文件 (35) OpenFile 打开文件 (35) ReadFile 读取文件 (36) ReadFileEx 读取文件 (36) ReadINI 读取键值 (37) ReadLine 读取一行 (37) ReNameFile 重命名文件 (38) SeekFile 设置文件的当前读写位置 (38) SelectDirectory 弹出选择文件夹对话框 (39) SelectFile 弹出选择文件对话框 (39) SetAttrib 设置文件属性 (40) SetDate 设置文件日期时间 (41) WriteFile 写入文件 (41) WriteFileEx 写入文件 (41) WriteINI 写入键值 (42) WriteLine 写入一行 (42) 插件命令面板 - Media多媒体 (43) Beep 蜂鸣器 (43) Play 播放 (44)

按键精灵开发教程:获取特殊文件夹路径

按键精灵开发教程:获取特殊文件夹路径 来源:按键学院【按键精灵】 电脑里有些特别的文件夹,它的路径并不是每台电脑都一样。 例如,有很多游戏喜欢把一些配置文件放在,“我的文档”文件夹下 但是“我的文档”文件夹的路径,并不是每台机子都一样的,例如, 在一台win7机子上,它的路径是这样:C:\Documents and Settings\ceshiji\My Documents 在一台xp机子上,它的路径是这样:D:\Backup\我的文档 看起来十分头疼~ 实际上一行代码就可以解决这个问题 q97012791童鞋收集了50多个特殊文件夹的路径获取方式,以后再也不用担心获取不到特殊文件夹路径了~ 点32个赞~~ 获取方法

MsgBox CreateObject("Shell.Application").Namespace(&H3).Self.Path“控制面板”文件夹 MsgBox CreateObject("Shell.Application").Namespace(&H4).Self.Path“打印机”的桌面图标 MsgBox CreateObject("Shell.Application").Namespace(&H5).Self.Path当前用户的“我的文档”文件夹MsgBox CreateObject("Shell.Application").Namespace(&H6).Self.Path当前用户的“收藏夹”文件夹MsgBox CreateObject("Shell.Application").Namespace(&H7).Self.Path当前用户的“启动”菜单文件夹MsgBox CreateObject("Shell.Application").Namespace(&H8).Self.Path当前用户的“文档”菜单文件夹MsgBox CreateObject("Shell.Application").Namespace(&H9).Self.Path当前用户的“发送到”文件夹MsgBox CreateObject("Shell.Application").Namespace(&HA).Self.Path回收站 MsgBox CreateObject("Shell.Application").Namespace(&HB).Self.Path当前用户的“开始”菜单文件夹MsgBox CreateObject("Shell.Application").Namespace(&HC ).Self.Path logical"My Documents"desktop icon MsgBox CreateObject("Shell.Application").Namespace(&HD).Self.Path当前用户的“音乐文件”文件夹MsgBox CreateObject("Shell.Application").Namespace(&HE).Self.Path"My Videos" folder MsgBox CreateObject("Shell.Application").Namespace(&H10).Self.Path当前用户的“桌面”文件夹MsgBox CreateObject("Shell.Application").Namespace(&H11).Self.Path“我的电脑”桌面图标 MsgBox CreateObject("Shell.Application").Namespace(&H12).Self.Path“网上邻居”的桌面图标 MsgBox CreateObject("Shell.Application").Namespace(&H13).Self.Path当前用户的“网络连接”文件夹MsgBox CreateObject("Shell.Application").Namespace(&H14).Self.Path“系统字体”文件夹 MsgBox CreateObject("Shell.Application").Namespace(&H15).Self.Path系统中存储文档模块的文件夹MsgBox CreateObject("Shell.Application").Namespace(&H16).Self.Path所有用户的“开始菜单”文件夹MsgBox CreateObject("Shell.Application").Namespace(&H17).Self.Path所有用户的“程序”文件夹MsgBox CreateObject("Shell.Application").Namespace(&H18).Self.Path所有用户的“启动”文件夹MsgBox CreateObject("Shell.Application").Namespace(&H19).Self.Path所有用户的“桌面”文件夹MsgBox CreateObject("Shell.Application").Namespace(&H1A).Self.Path当前用户的“应用数据”文件夹MsgBox CreateObject("Shell.Application").Namespace(&H1B).Self.Path当前用户的“网络打印机”桌面图标MsgBox CreateObject("Shell.Application").Namespace(&H1C).Self.Path当前用户的“应用数据”文件夹MsgBox CreateObject("Shell.Application").Namespace(&H1D).Self.Path non localized startup MsgBox CreateObject("Shell.Application").Namespace(&H1E).Self.Path non localized common startup MsgBox CreateObject("Shell.Application").Namespace(&H1F).Self.Path所有用户的“我的收藏”夹文件MsgBox CreateObject("Shell.Application").Namespace(&H20).Self.Path当前用户IE的“Cache”文件夹

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

学会用按键精灵制作游戏脚本之前后台坐标关联教程 来源:按键学院【按键精灵】 各位大大在切换前后台命令的时候,有没有遇到坐标切换呢~ 有没有发现前后台的命令,对同一个窗体内容,居然坐标不同!! 今天~院刊就跟大家普及下前台坐标与相对应的后台坐标知识~ 什么是前台坐标和后台坐标呢? 什么是前台坐标? 以屏幕左上角的坐标为起点(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”和“按键精灵”中间的坐标 (为了方便,我们用抓抓获取。在游戏中,可以通过找图找色来获取前台坐标)

按键精灵插件帮助

1.什么是按键精灵的插件 按键精灵的插件是由按键精灵官方或用户自己提供的一种功能扩展。由于按键精灵本身只提供脚本制作过程中最常用的功能,而不可能面面俱到。所以,如果您稍懂一点Visual C++编写程序的知识,就可以通过自己写按键精灵插件,实现比较特殊、高级的功能,如文件读写、注册表访问,等等。如果您愿意,还可以把自己写的插件提交给我们,我们可以在按键精灵的最新版中捆绑您编写的插件,和大家共同分享您的智慧! 按键精灵的插件是通过动态链接库(DLL)的形式提供的。这些动态链接库必须满足一定的规范,并且放在按键精灵所在路径的plugin文件夹下。在按键精灵启动的时候,会自动加载plugin文件夹下的每个插件。每个插件可以包含多个“命令”,每个命令则可以看作是一个独立的函数或者子程序。比如我们提供的文件相关操作插件File.dll,就提供了ExistFile(判断文件是否存在)、CopyFile(复制一个文件)、DeleteFile(删除一个文件)等多个命令。 目前按键精灵的插件只能使用Visual C++编写。您不需要懂得很高深的Visual C++编程技巧,也不需要知道插件的技术细节。因为我们已经提供了一个“模板”插件,您只需要在这个模板上按照下文所述的步骤进行一点点修改,一个属于您自己的插件就完成了。我们推荐您使用Visual C++ 6.0,也可以用Visual C++.NET。 值得说明的是,由于技术原因,按键精灵的插件目前还不能用Visual Basic、Delphi、JBuilder等常见的开发工具编写。但是有聪明的用户使用VBScript脚本和ActiveX DLL的形式,同样实现了按键精灵的功能扩展,典型的例子如Ringfo大虾制作的QMBoost等等。严格说来,这种功能扩展不能称为按键精灵的插件,但是我们同样欢迎这种类型的功能扩展。 2. 如何制作一个插件 2.1.准备动手 为按键精灵写一个插件其实非常简单,只需要您有一点Visual C++编程的知识就够了。如果您懂Visual C++编程,就请跟我一步一步的来完成一个简单的插件。 首先得计划一下,我们的插件完成什么功能,再考虑一下这个插件都需要具有哪些命令。这里假设我们的插件是用于字符串操作的,名字就叫String.dll,这个插件目前暂时只有一个命令,名字叫StrLen,是用于得到字符串长度的。也就是说,用户通过使用我们提供的StrLen 命令,传入一个字符串,我们给他返回这个字符串的长度。 具体的说,用户可能将来会在按键精灵中这样调用我们的插件命令: Dim length as integer Plugin length=String.StrLen(“Hello, world”) 如果您熟悉按键精灵,那么对第一句话不会陌生,它的意思是定义一个叫length的整数变量。第二句的意思,我们来解析一下:

按键精灵开发者认证三级答案

1.True的值是? -1 2.返回值=Round( 3.141592,5),求返回值是什么?3.141592 3.False的值是? 0 4.选出下列代码中无法实现循环效果的选项.For i = 9 To 0 : Delay 100 : Next 5.PrintScreen命令支持哪种格式截图?jpg 6.a = 10.05 Mod 2 ,那么a的值为?0 7.关于自定义变量的描述以下哪一个是正确的?自定义变量可以是类 8.数组MyArray(5)的最大可用下标为?5 9.VarType 函数的作用是?返回指示变量子类型的值 10.以下哪一个命令可以将表达式转化为字符串?Cstr 11.常数 VbOk 的值为?1 12.文本不存在,以下哪一个命令会新建立文本?WriteFileEx 13.Erase 语句的含义是?重新初始化固定大小数组的元素,并释放动态数组的存储空间 14.下列哪一个函数可以取数组最大可用下标?Ubound 15.在大型脚本的设计中,以下哪一个命令不推荐使用?goto命令 17.a=34,b=&H22,下列描述哪一个是错误的?cstr(b)的值为 "&H22" 16.MsgBox命令最多可以使用几个参数?5 18.以下哪一个命令需要绑定WQM使用?Call Plugin.Web.ScrollTo(0,0) 19.假如“神盾”图像存在,以下无法识别到图像的命令是?FindPic 0, 0, 1024, 768, "神盾.jpg", 0.9, intX, intY 20.DateDiff命令有几个必选参数?且返回值类型是?3个必选参数,返回值类型为:整数 21.myarray=Array(1,2,3,4,5),那么Ubound(myarray)的值为?4 22.以下命令可以获取当前窗口所在屏幕位置精确坐标的是?Text = Plugin.Window.GetWindowRect(Hwnd) 23.FindMultiColor命令的颜色特征点最少为几个?2个 24.如果有多个重复标题的窗口,以下哪个命令能够直接获取到所有对应窗口的句柄?Plugin.Window.Search 25.QUI输入框控件返回值的变量类型是?字符串 26.以下哪一个返回值是字符串?"anjian"&"vrbrothers" 27.arr=array(1,2,3,4,5,6,7,8,9),问CStr(arr(5))等于多少?"6" 28.RGB值分解为红绿蓝分量,分量值的范围是?0~255 29.True的值是?-1 30.以下哪一个命令输出的值与其他三个不同?TracePrint fix(3.5) 31.以下哪一个命令可以定义常数?Const 32.假如MyDate = "October 19, 1962": YourDate = #10/19/62#: NoDate = "Hello",返回值为False的是?IsDate(NoDate) 33.myarray=Array(1,2,3,4,5),那么myarray(4)的值为?5 34.Redim 命令的作用对象是?数组 35.以下哪个事件是最先响应的?OnScriptLoad 36以下不属于键鼠命令的是?Call Plugin.Bkgnd.SendString(Hwnd, 0) 37.以下语句无法返回时间信息的是?MyTime=Now(Time) 38.Media.Play命令不支持哪个文件格式。Mp4 39.以下命令哪个可以终止所有线程运行并停止脚本。ExitScript 40.以下哪一个函数返回值的数据类型与其他三个的不一样?Filter

大漠插件后台找图、自动获取坐标窗口句柄鼠标多点左单击脚本

大漠插件后台找图、自动获取坐标窗口句柄鼠标多点左单击 脚本 一、准备工作 第一步:下载大漠插件、解压,运行“注册大漠插件到系统.bat”,把全部东东都复制到按键精灵的plugin目录下吧~ 第二步:创建一个文件夹,以d:\test 为例。把你要找的图(60.bmp)、大漠插件里的dm.dll 和RegDll.dll复制到这个文件夹。 第三步:打开按键精灵,创建一个新脚本。往附件(在软件左边框选项)里面添加dm.dll、Reg.dll和图60.bmp 二、复制以下代码到按键精灵 dim ys1,ys2,ys3,a,b,zbx,zby//自定义变量 ys1=9000//1和2点延时 ys1=9000//2和3点延时 ys1=9000//3和1点延时 a=15//纵向下移15单位 b=-15//纵向上移15单位 zbx=100//获取窗口句柄给定的坐标x zby=100//获取窗口句柄给定的坐标y PutAttachment "d:\test", "*.*" //意思是释放所有附件到d:\test目录。就是把有用的文件打包到test目录下 PutAttachment ".\Plugin", "RegDll.dll" //意思是释放RegDll.dll文件到按键精灵安装目录的Plugin目录下,用来完成大漠插件的注册 Call Plugin.RegDll.Reg("d:\test\dm.dll") //调用大漠插件,在按键精灵中使用 Set dm = createobject("dm.dmsoft") //用大漠插件创建一个对象dm dm_ret = dm.SetPath("d:\test") // 设置全局路径,以后你找图用的图片都默认是test目录里的图片了,否则你要用绝对路径d:\test\1.bmp来该表示图片 dm_ret = dm.LoadPic("*.bmp") // 字面意思是加载test目录下的所有图片 Hwnd = dm.GetPointWindow(zbx,zby)//用大漠软件获取给定坐标(zbx,zby)的窗口句柄,保存在Hwnd里 Call Plugin.Window.Move(Hwnd, 0, 0) // 把窗口移到屏幕的(0,0),即左上角 dm_ret = dm.BindWindow(Hwnd,"gdi","windows","windows",0) //这句用来绑定辅助操作的对象窗口 //下面是一条判断语句,如果绑定失败就会提示。那就从前面几几步中找原因吧 Delay 10 If dm_ret = 1 Then Else MessageBox "绑定失败,重启脚本或联系作者" EndScript

按键精灵开发者一级认证题案

开戏?f g开发者一级认证题案 1、关于按键精灵的描述,以下正确的是? 正确答案:按键精灵是一款绿色的模拟键盘鼠标操作的软件 2、不能用抓抓工具直接获取的是? 正确答案:PID 3、按键精灵的产品包括以下哪一个? 正确答案:按键盒子 4、UnIoCkMouSe命令的含义是? 正确答案:解除锁定鼠标位置 5、LeftDoWn命令的含义是? 正确答案:左键按下 6、GetLaStKey命令在获取一次ANSl字符代码后继续循环执行返回值是? 正确答案:0 7、按键精灵默认的启动热键是? 正确答案:F10 8按键精灵自带的程序不包括下列哪一个? 正确答案:iexplore.exe 9、下列哪一种方法不能够正确输入命令?

正确答案:鼠标右键单击命令 10、SaVeMOUSePOS命令的含义是正确答案:保存当前鼠标所在位置 11、按键精灵自带的抓图工具是? 正确答案:按键抓抓 12、按键精灵里运算符乘号是? 正确答案:* 13、哪一种方法能够找到命令的帮助说明? 正确答案:在全部命令中搜索命令, 点击后帮助说明会出现在编辑器下方. 14、RightUp 命令的含义是? 正确答案:右键弹起 15、SetSimMode命令的含义是? 正确答案:设置模拟方式 16、GetLastClick 命令的含义是? 正确答案:检测上次按过的鼠标键 17、MoVeTO命令的含义是? 正确答案:移动 18、录制脚本之后需要重新运行这段脚本, 下列哪个做法是正确的?正确答案:保存脚本之后点击" 运行" 按钮 19、与取色判断命令没有直接关系的参数是?正确答案:按键码 20、哪一类脚本程序是按键精灵官方授予销售权的?正确答案:小精灵商业版 21、KeyUP命令的含义是? 正确答案:弹起 22、MouSeWhee命令的含义是?

按键精灵开发者一到六级认证最全总结答案

1、WaitKey命令有几个参数?正确答案:0 2、颜色值为"FFFFFF"是什么颜色?正确答案:白色 3、鼠标左键弹起的命令是?正确答案:LeftUp 4、按键码53是下列哪一个按键?正确答案:5 5、Delay命令有几个参数?正确答案:1 6、延迟1天,以下哪一句代码是正确的?正确答案:Delay 1000*60*60*24*1 7、下列哪一个命令会暂停脚本?正确答案:WaitClick 8、EndScript命令的意义是?正确答案:脚本停止运行 9、判断条件应该使用下列哪个语句?正确答案:If语句 10、按键精灵找图命令需要的图片格式是下列哪一个?正确答案:*.BMP 11、以下哪一个不属于按键精灵的"全部命令"?正确答案:远程嗅探命令 12、鼠标所在位置为(100,50),经过命令 MoveToS 50+50,100 后鼠标所在位置为?正确答案:100,100 13、不能正确调用KeyPress命令的写法是?正确答案:KeyPress "FB",1 14、鼠标右键单击的命令是?正确答案:RightClick 15、组合键"CTRL+C"的正确按键顺序是?正确答案:按下"CTRL",点击"C",弹起"CTRL" 16、"F10"的按键码是?正确答案:121 17、以下哪一个命令能够延时1个小时?正确答案:delay 1000*60*60 18、下列RGB颜色值,书写正确的是?正确答案:"DD" 20、区域找图的命令是?正确答案:FindPic 21、循环可以使用下列哪个语句?正确答案:For语句 22、附件中哪一种文件可以不经过释放直接使用?正确答案:BMP 23、以下哪一个写法不能点击"shift"键?正确答案:KeyPress 60, 1 24、取指定点颜色的命令是?正确答案:GetPixelColor 25、锁定鼠标位置是下列哪一个命令?正确答案:LockMouse 26、延迟3分钟,以下哪一句代码是正确的?正确答案:Delay 1000*60*3 27、鼠标右键弹起的命令是?正确答案:RightUp 28、脚本停止运行命令是哪一个?正确答案:EndScript 29、鼠标左键双击的命令是?正确答案:LeftDoubleClick 30、解除鼠标锁定是下列哪一个命令?正确答案:UnlockMouse 31、键盘按下的命令是?正确答案:KeyDown 32、以下哪一个不属于按键精灵基本命令?正确答案:压缩命令 33、下列哪一个是鼠标命令?正确答案:LeftClick 34、鼠标所在位置为(50,50),经过命令 MoveTo 50,100 后鼠标所在位置为: 正确答案:50,100 35、以下哪一个是自动补血的思路? 正确答案:检测血条上某一点,如果此点不是血条的颜色则执行加血操作 36、下面哪一个是循环命令?正确答案:Do...Loop 37、SetSimMode命令有几个参数?正确答案:1 38、哪一种写法不能循环5次?正确答案:For i=1 To 9 :Next 39、下列哪一个不是键盘命令?正确答案:KeyClick 40、按键码76是下列哪一个按键?正确答案:L 41、空格键的按键码是?正确答案:32

相关文档
最新文档