[命令]按键精灵常用功能-详细解说[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 10Rem 按1键10次,换行KeyPress 49 10KeyPress 13 1Rem 按下1键不动,2秒后弹起,换行KeyDown 49 1Rem 延时2000毫秒Delay 2000KeyUp 49 1KeyPress 13 1Rem 按shift+1组合键,换行KeyDown 16 1KeyPress 49 1KeyUp 16 1KeyPress 13 1Rem 提示后,等待任意键继续SayExpression "请按任意键继续吧。
"KeyPress 13 1Rem 等待任意键继续WaitKeyRem 提示后,等待空格键继续SayExpression "让我们继续,这次按空格才能继续。
"KeyPress 13 1Rem 等待space空格键继续WaitKey PkeyIf Pkey<>32SayExpression "按空格才能继续!"KeyPress 13 1Goto 等待space空格键继续ElseKeyPress 13 1SayExpression "好的,演示完成了。
"EndIfDelay 1000VBSCall CALL MessageBox("演示完成。
")EndScript以上脚本的疑问:1.rem-是解释和标记用的,可以让自己思路更有条理和设置方便的跳转goto功能。
2.goto-是表示跳转,后面跟标记。
例:“goto 等待space空格键继续” 就是说,跳转到标记了“等待space空格键继续”的地方,和rem配合使用。
注意:有2个相同标记的时候,会依次跳转哦!可能就跳不到你想的位置了~~~所以请别使用相同的标记!!3.delay-表示此处须延时等待,后面的数值单位是毫秒ms,1000表示1000毫秒,也就是1秒啦。
4.SayExpression ""-输出引号内的字符内容,引号里面有什么就输出什么。
注意:前提是鼠标光标要停在可以输出字符的地方哦~~~!5.VBSCall CALL MessageBox()-弹出一个窗,内容是括号内的东西,可以是""里面的字符串,也可以是常量或变量。
6.EndScript-表示脚本结束。
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 记录保存鼠标位置SaveMousePosRem 左键按下,横拉,竖拉,斜拉,弹起,单击,双击LeftDown 1Delay 1000MoveR 100 0Delay 1000MoveR 0 100Delay 1000MoveTo 720 540Delay 1000LeftUp 1Delay 1000Rem 鼠标回位RestoreMousePosDelay 1000LeftClick 1Delay 1000LeftDoubleClick 1Delay 1000Rem 右键单击,中键单击,右键按下,移动,弹起,鼠标回位RightClick 1Delay 1000LeftClick 1Delay 1000MiddleClick 1Delay 1000MoveR 0 50Delay 1000MiddleClick 1Delay 1000RightDown 1Delay 1000MoveR 100 0Delay 1000MoveR 0 100Delay 1000MoveR -100 -100Delay 1000RightUp 1Delay 1000LeftClick 1Delay 1000RestoreMousePosEndScript以上脚本的疑问:1.怎么模拟右键双击?-使用RightClick 2,-或者RightClick 1delay 20RightClick 1看自己喜好和需要了(中间双击也一样)2.LeftClick 2和LeftDoubleClick 1有什么不同嘛?-这个嘛,就要看按键本身的设置了,LeftClick 2两次之间的延时是多少?LeftDoubleClick 1之间的延时是多少?我无非用数字回答。
3.MoveTo和MoveR用哪个好?-没有哪个好哪个差,只有哪个方便。
一般知道点坐标来移动就用MoveTo;知道移动的距离就用MoveR;谁方便用谁,非要用另一个也是可以的,自己计算点坐标和距离吧。
4.中键滚动怎么模拟?-问问作者吧,加设功能才行,目前的方法:MiddleClick 1Delay 1000MoveR 0 50Delay 1000MiddleClick 1通过MoveR的距离来控制滚动速度,通过MoveR后的延时来控制滚动距离。
最后中间单击结束滚动。
B鼠标,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...else...endif,或if...elseif...elseif...endif等形式。
(4)跳转和调用子程序-跳转用goto,可以跳转到rem标记过的地方,调用子程序用gosub,这里要说明一点是:rem标记和子程序名字一样的话,将也会goto到子程序处,而不仅仅是goto到rem的标记。
(5)标记和子程序-rem除了用来解释,最重要的作用就是做goto的标记;sub...return 子程序的好处,就是不必在主程序写很多相同的代码,使用模块化的子程序,调用方便,结构清晰...不过,最好使用唯一的子程序名称,和rem的标记名称也要独立唯一,不然容易出错,还有就是同一个子程序未结束的时候再次调用,return的时候容易看错哦。
(6)脚本停止-很简单Endscript表示到此脚本运行完毕。
举例:大家可以找找论坛里的各种脚本,参见其中的这些功能,按下你设定的快捷键开始执行你的脚本...rem while语句循环VBS i=0while i<=9VBS i=i+1endforVBSCALL CALL messagebox(i)rem if语句循环VBS j=0if j<=10j=j+1goto if语句循环elseVBSCALL CALL messagebox(j)endifrem 子程序VBS k=0gosub 跳出对话框krem 演示rem和sub同名waitkeyVBS k=0goto 跳出对话框kVBS k=0gosub 跳出对话框krem 跳出对话框kVBS k=100VBSCALL CALL messagebox(k)rem 演示重复调用VBS p=0VBS pp=1gosub 重复VBSCALL CALL messagebox(p)VBSCALL CALL messagebox(pp)endscriptsub 跳出对话框kVBS k=i+jVBSCALL CALL messagebox(k)returnSub 重复If p=3Goto 返回ElseVBSCall CALL messagebox("我是重复") VBS p=p+1Gosub 重复VBS pp=pp+1EndIfRem 返回VBSCall CALL messagebox(pp)Return。