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

[命令] 按键精灵常用功能-详细解说[1]-键盘动作

按键精灵常用功能-解说[版本5.0以上]

首先-启动按键精灵-看到主程序界面的“小灯泡”增加按钮了吗?点击它...

然后-这样就新建了一个脚本,并进入了脚本编辑器界面。(具体参见Qmacro基础资料/cn/qmacro/)

按键精灵常用功能-详细解说[1]-键盘动作-4个功能

(1)单个按键的模拟-模拟键盘的单个按键动作,可以是按1下、按住不动、弹起来等3种形式,可以根据自己的需要,设定执行次数。

(2)按键组合的模拟-模拟按键组合,比如ctrl+shift+G之类的,但是不能G+H 这样子哦,那要需要的时候怎么模拟G+H呢?使用(1)功能-按下G,再按下H,就等于G+H了嘛~~~(不同步?哦,计算机的反映速度是很快的!)

(3)脚本暂停按任意键继续功能-这里可以设置一个变量,用来表示可能是哪个按键,比如设置了变量key,当key这个变量变动的时候...比如key=49的时候,表示按1就能使脚本继续...那么怎么知道哪个数字对应是哪个按键?请看(4)的功能。

(4)得到按键码-在左边的空白输入一个按键,右边就显示出相应的按键码哦。有一些特殊的按键码是多少呢?可以去下载个ASCII码表看看。

举例:打开一个记事本,光标停空白处,按1下你设定的快捷键开始执行你设计的脚本...

Rem rem只是注释语句,可以做标记或解释用途。

Rem rem这一行,不会有功能,比如:KeyPress 49 10

Rem 按1键10次,换行

KeyPress 49 10

KeyPress 13 1

Rem 按下1键不动,2秒后弹起,换行

KeyDown 49 1

Rem 延时2000毫秒

Delay 2000

KeyUp 49 1

KeyPress 13 1

Rem 按shift+1组合键,换行

KeyDown 16 1

KeyPress 49 1

KeyUp 16 1

KeyPress 13 1

Rem 提示后,等待任意键继续

SayExpression "请按任意键继续吧。"

KeyPress 13 1

Rem 等待任意键继续

WaitKey

Rem 提示后,等待空格键继续

SayExpression "让我们继续,这次按空格才能继续。"

KeyPress 13 1

Rem 等待space空格键继续

WaitKey Pkey

If Pkey<>32

SayExpression "按空格才能继续!"

KeyPress 13 1

Goto 等待space空格键继续

Else

KeyPress 13 1

SayExpression "好的,演示完成了。"

EndIf

Delay 1000

VBSCall CALL MessageBox("演示完成。")

EndScript

以上脚本的疑问:

-是解释和标记用的,可以让自己思路更有条理和设置方便的跳转goto功能。

-是表示跳转,后面跟标记。例:“goto 等待space空格键继续” 就是说,跳转到标记了“等待space空格键继续”的地方,和rem配合使用。注意:有2个相同标记的时候,会依次跳转哦!可能就跳不到你想的位置了~~~所以请别使用相同的标记!!

-表示此处须延时等待,后面的数值单位是毫秒ms,1000表示1000毫秒,也就是1秒啦。

ression ""-输出引号内的字符内容,引号里面有什么就输出什么。注意:前提是鼠标光标要停在可以输出字符的地方哦~~~!

l CALL MessageBox()-弹出一个窗,内容是括号内的东西,可以是""里面的字符串,也可以是常量或变量。

ipt-表示脚本结束。

7.为什么按下1键后,没有一直输出“1”?2秒后弹起1键,总共才输出1个“1”?-在记事本程序,如果一直按住1键,就会连续输出“1”,但是记事本是怎么处理“按住1键”的?这和按键精灵的KeyDown有点不同哦。其实,“按住”、“弹起”通常都用于组合键中,比如按下Ctrl、Shift、Alt之类的...

8.为什么等待按键继续的时候,按键的字符也会出现呢?-因为按键精灵是独立于其它程序执行的,就是说按键精灵在运行,记事本本身也在运行,而按键精灵并没有阻止或完全控制记事本的运行...也就是说,按下某个键的同时,既在执行按键精灵的脚本,也在执行某程序本身...(按键精灵操作对象的只是显示出来的屏幕画面本身...)

[教程] 按键精灵常用功能-详细解说[2]-鼠标动作

按键精灵常用功能-详细解说[2]-鼠标动作

按键精灵常用功能-解说[版本5.0以上]

首先-启动按键精灵-看到主程序界面的“小灯泡”增加按钮了吗?点击它...

然后-这样就新建了一个脚本,并进入了脚本编辑器界面。(具体参见Qmacro基础资料

/cn/qmacro/)

按键精灵常用功能-详细解说[2]-鼠标动作-4个功能

(1)模拟鼠标(3键鼠标哦)的按键-可以模拟鼠标的左、右和中键的单击、双击、按下、弹起,并设定

次数。不能模拟滚轮中键的滚动功能,遗憾~!(还是有办法:按中键,再移动鼠标)

(2)模拟鼠标定点移动-移动到某个坐标,绝对坐标哦,坐标系原点O在屏幕左上角,x方向右,y方向

下。这个功能可以方便、准确的把鼠标移动到你想去的点。

(3)模拟鼠标定距离移动-这次是相对移动,无论当前鼠标在什么位置,我们设定的DX,DY是相对坐标

哦,原点是当前鼠标停点,x方向右,y方向下。(这样说是不是太烦了?)这个功能可以方便、准确的把

鼠标移动一定的距离,这个距离是多少,就看你的设定咯~~~

(4)保存和恢复鼠标的位置-记录鼠标位置,快速回位功能,不需要知道此时坐标是多少,不需要知道

距离是多少,只是方便的记录、回位功能。(不过我习惯对数字的东西掌握得一清二楚的,所以很少使

用这功能)

举例:就在这个网页吧,光标停在本帖的第4行第4字处,按一下你设定的快捷键开始执行你设计的脚

本...

Rem 记录保存鼠标位置

SaveMousePos

Rem 左键按下,横拉,竖拉,斜拉,弹起,单击,双击

LeftDown 1

Delay 1000

MoveR 100 0

Delay 1000

MoveR 0 100

Delay 1000

MoveTo 720 540

Delay 1000

LeftUp 1

Delay 1000

Rem 鼠标回位

RestoreMousePos

Delay 1000

LeftClick 1

Delay 1000

LeftDoubleClick 1

Delay 1000

Rem 右键单击,中键单击,右键按下,移动,弹起,鼠标回位

RightClick 1

Delay 1000

LeftClick 1

Delay 1000

MiddleClick 1

Delay 1000

MoveR 0 50

Delay 1000

MiddleClick 1

Delay 1000

RightDown 1

Delay 1000

MoveR 100 0

Delay 1000

MoveR 0 100

Delay 1000

MoveR -100 -100

Delay 1000

RightUp 1

Delay 1000

LeftClick 1

Delay 1000

RestoreMousePos

EndScript

以上脚本的疑问:

1.怎么模拟右键双击?

-使用RightClick 2,

-或者RightClick 1

delay 20

RightClick 1

看自己喜好和需要了(中间双击也一样)

ick 2和LeftDoubleClick 1有什么不同嘛?

-这个嘛,就要看按键本身的设置了,LeftClick 2两次之间的延时是多少?LeftDoubleClick 1之间

的延时是多少?我无非用数字回答。

和MoveR用哪个好?

-没有哪个好哪个差,只有哪个方便。一般知道点坐标来移动就用MoveTo;知道移动的距离就用MoveR

;谁方便用谁,非要用另一个也是可以的,自己计算点坐标和距离吧。

4.中键滚动怎么模拟?

-问问作者吧,加设功能才行,目前的方法:

MiddleClick 1

Delay 1000

MoveR 0 50

Delay 1000

MiddleClick 1

通过MoveR的距离来控制滚动速度,通过MoveR后的延时来控制滚动距离。最后中间单击结束滚动。

鼠标,P/S大圆口鼠标,串口鼠标,硬件模拟,软件模拟的问题。

-具体需要咨询作者了,嘿嘿。我只知道这么多啦,我也只是一个普通用户嘛~~~!

[教程] 按键精灵常用功能-详细解说[3]-控制动作

本帖最后由 一只鱼 于 2009-4-6 12:08 编辑

按键精灵常用功能-详细解说[3]-控制动作

按键精灵常用功能-解说[版本5.0以上]

首先-启动按键精灵-看到主程序界面的“小灯泡”增加按钮了吗?点击它...

然后-这样就新建了一个脚本,并进入了脚本编辑器界面。(具体参见Qmacro基础资料/cn/qmacro/)

按键精灵常用功能-详细解说[3]-控制动作-6个功能

(1)抓点颜色并执行语句-通过判断屏幕x,y坐标的某点的颜色,是等于、不等于、还是近似某颜色,来执行后面的动作或控制...抓点颜色教程详见...

(2)循环语句-循环N次,其实这里除了可以用for,还可以用while语句。

(3)条件语句-如果某条件成立,执行某命令...除了简单的If...EndIf,还可以If...dif,或if...dif等形式。

(4)跳转和调用子程序-跳转用goto,可以跳转到rem标记过的地方,调用子程序用gosub,这里要说明一点是:rem标记和子程序名字一样的话,将也会goto到子程序处,而不仅仅是goto到rem的标记。

(5)标记和子程序-rem除了用来解释,最重要的作用就是做goto的标记;urn子程序的好处,就是不必在主程序写很多相同的代码,使用模块化的子程序,调用方便,结构清晰...不过,最好使用唯一的子程序名称,和rem的标记名称也要独立唯一,不然容易出错,还有就是同一个子程序未结束的时候再次调用,return的时候容易看错哦。

(6)脚本停止-很简单Endscript表示到此脚本运行完毕。

举例:大家可以找找论坛里的各种脚本,参见其中的这些功能,按下你设定的快捷键开始执行你的脚本...

rem while语句循环

VBS i=0

while i<=9

VBS i=i+1

endfor

VBSCALL CALL messagebox(i)

rem if语句循环

VBS j=0

if j<=10

j=j+1

goto if语句循环

else

VBSCALL CALL messagebox(j)

endif

rem 子程序

VBS k=0

gosub 跳出对话框k

rem 演示rem和sub同名

waitkey

VBS k=0

goto 跳出对话框k

VBS k=0

gosub 跳出对话框k

rem 跳出对话框k

VBS k=100

VBSCALL CALL messagebox(k)

rem 演示重复调用

VBS p=0

VBS pp=1

gosub 重复

VBSCALL CALL messagebox(p)

VBSCALL CALL messagebox(pp)

endscript

sub 跳出对话框k

VBS k=i+j

VBSCALL CALL messagebox(k)

return

Sub 重复

If p=3

Goto 返回

Else

VBSCall CALL messagebox("我是重复")

VBS p=p+1

Gosub 重复

VBS pp=pp+1

EndIf

Rem 返回

VBSCall CALL messagebox(pp)

Return