按键精灵 split函数编写两个函数,写出完整代码谢谢

作为一名程序员,你觉得按键精灵编程有技术含量吗?你觉得它是真正的编程吗? - 知乎370被浏览116512分享邀请回答864 条评论分享收藏感谢收起959 条评论分享收藏感谢收起查看更多回答c语言程序编写函数实现两个数中的较小者._百度知道 色情、暴力 我们会通过消息、邮箱等方式尽快将举报结果通知您。 c语言程序编写函数实现两个数中的较小者. 我有更好的答案 min&=&);,&z);&void&&z&=&main()&a;&&&&:&b;}&x:\n&&y);&&&&printf(&%d\n&min(x;& ,&y); ,&&%d%d",&a&&&b&&printf(&请输入两个数,z; #include&stdio.h&return ,y;?&a&{&&&&int&int&min(int&&x;&scanf(&int&b)&&{&&,& 采纳率:46% int&min(int :23Press any key to continue*/#include&&stdio.h>,min(m;}int&a;%d%d",n)),& printf(&int&b)&{ if(a&&&b)&return&a; return&b;m/*输入m,n = 23 56较小的是;较小的是:%d\n&;main()&=&&); scanf(",&n);,&{ int&m,n; printf(&输入m,n  #include&stdio.h&int&min(int&x,&int&y)&{&&&&return&x&&&y&?&x&:&y;}void&main()&{&&&&int&a&=&1,&b&=&2;&&&&int&c&=&min(a,&b);&&&&printf(&min&=&%d\n&,&c);} int&min(int&x,&int&y){&&&&return&x&y?x:y;} 其他1条回答 为您推荐: 其他类似问题 您可能关注的内容 c语言程序的相关知识 等待您来回答求类似于按键精灵的软件的C语言代码。谢谢了 20分,无满意结帖,结帖人jiarusun000] 求类似于按键精灵的软件的C语言代码。谢谢了 20分,无满意结帖,结帖人jiarusun000] 编辑:www.fx114.net 本篇文章主要介绍了"求类似于按键精灵的软件的C语言代码。谢谢了 20分,无满意结帖,结帖人jiarusun000]",主要涉及到求类似于按键精灵的软件的C语言代码。谢谢了 20分,无满意结帖,结帖人jiarusun000]方面的内容,对于求类似于按键精灵的软件的C语言代码。谢谢了 20分,无满意结帖,结帖人jiarusun000]感兴趣的同学可以参考一下。 &&我想写一个按键精灵类的软件,但不知道具体该怎么写。想先找篇代码读一便,请问具体用什么方法来做呢?高手能指点下吗。如果谁知道在哪里可以下到源代码,告诉我吧。在下自会感激不仅的。我以前见过,XX100例精解之类有例子,忘了,你自己找看了HOOK 一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息! 二、互相尊重,对自己的言论和行为负责。 本文标题: 本页链接:当前位置: >> 按键精灵脚本编写方法 按键精灵学习教程一、 键盘命令(2~5 页) 二、鼠标命令(5~13 页) 三、控制命令(13~22 页) 四、颜色/图像命令(22~28 页) 五、其他命令(28~355 页)五、网游脚本实例(35~最后) 一、 键盘命令命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)
G e t L a s t Ke y 检 测 上 次 按 键检测上次按键 参数 1 整数型,可选:变量名 无 复制代码 1. 2. 3. 4. 5. //脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次按下的按键码保存在变量 Key 里。 Key=GetLastKey() If Key = 13 Then Msgbox &你上次按下了回车键& End If脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. //脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次按下的按键码保存在变量 Key 里。 GetLastKey Key If Key = 13 Msgbox &你上次按下了回车键& EndIf命令名称: 命令功能: 命令参数:K e yD o w n 按 住键盘按住 参数 1 整数型,键盘虚拟码(8.X 支持 按键字符) 参数 2 整数型,次数返 回 值: 脚本例子: (8.x 语法)无 复制代码 1. 2. 3. 4. 5. //KeyDown、KeyDownS、KeyDownH //KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的键盘都 可以使用 //KeyDownH: 硬件模拟方式,仅支持 PS(圆口)的键盘 点击查看使用硬件模拟方式的注意事项 KeyDown 65,1 //65 是 A 键的按键码,上面的语句表示按住 A 键 1 次 6. 7. 8. KeyDown &A&,1 //上面的支持按键字符,语句表示按住 A 键 1 次脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. //KeyDown、KeyDownS、KeyDownH //KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的键盘都 可以使用 //KeyDownH: 硬件模拟方式,仅支持 PS(圆口)的键盘 点击查看使用硬件模拟方式的注意事项 KeyDown 65,1 //65 是 A 键的按键码,上面的语句表示按住 A 键 1 次命令名称: 命令功能: 命令参数:K e yPr e s s 按 键键盘按键 参数 1 整数型,键盘虚拟码(8.X 支持 按键字符) 参数 2 整数型,次数返 回 值: 脚本例子: (8.x 语法)无 复制代码 1. 2. 3. 4. 5. 6. 7. 8. KeyPress &A&,1 //上面的支持按键字符,语句表示按 A 键 1 次 //KeyPress、KeyPressS、KeyPressH //KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的键盘都 可以使用 //KeyPressH: 硬件模拟方式,仅支持 PS(圆口)的键盘 点击查看使用硬件模拟方式的注意事项 KeyPress 65,1 //65 是 A 键的按键码,上面的语句表示按 A 键 1 次脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. //KeyPress、KeyPressS、KeyPressH //KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的键盘都 可以使用 //KeyPressH: 硬件模拟方式,仅支持 PS(圆口)的键盘 点击查看使用硬件模拟方式的注意事项 KeyPress 65,1 //65 是 A 键的按键码,上面的语句表示按 A 键 1 次命令名称: 命令功能:K e yU p 弹 起键盘弹起 命令参数:参数 1 整数型,键盘虚拟码(8.X 支持 按键字符) 参数 2 整数型,次数返 回 值: 脚本例子: (8.x 语法)无 复制代码 1. 2. 3. 4. 5. 6. 7. 8. KeyUp &A&,1 //上面的支持按键字符,语句表示松开 A 键 1 次 //KeyUp、KeyUpS、KeyUpH //KeyUpS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的键盘都可 以使用 //KeyUpH: 硬件模拟方式,仅支持 PS(圆口)的键盘 点击查看使用硬件模拟方式的注意事项 KeyUp 65,1 //65 是 A 键的按键码,上面的语句表示松开 A 键 1 次脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. //KeyUp、KeyUpS、KeyUpH //KeyUpS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的键盘都可 以使用 //KeyUpH: 硬件模拟方式,仅支持 PS(圆口)的键盘 点击查看使用硬件模拟方式的注意事项 KeyUp 65,1 //65 是 A 键的按键码,上面的语句表示松开 A 键 1 次命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)WaitKey 等 待 按 任 意 键等待按任意键 参数 1 整数型,可选:变量名 无 复制代码 1. Key=WaitKey() 2. 3. 4. 5. //脚本运行到这一行会暂停,当用户按下键盘后继续执行,并且把用户的按键码保存在变量 Key 里 If Key = 13 Then MessageBox &恭喜你按下了回车键& End If脚本例子: (7.x 语法)复制代码 1. WaitKey Key 2. 3. //脚本运行到这一行会暂停,当用户按下键盘后继续执行,并且把用户的按键码保存在变量 Key 里 If Key = 13 4. 5.Msgbox &恭喜你按下了回车键& EndIf二、鼠标命令命令名称: 命令功能: 命令参数:G e t Cur s o r Po s 得 到 鼠 标 位 置 坐 标得到当前鼠标所在的位置坐标 参数 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 中命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)G e t Cur s o r S ha p e 得 到 鼠 标 形 状得到当前鼠标的形状特征 参数 1 整数型,参数 整数型,鼠标的形状值 复制代码 1. 2. 3. 4. 5. 6. 7. //参数: 0 是 6.83 之前的版本默认的参数 //参数: 1 可用于一些在参数 0 下无法区分鼠标形状代码的情况 //下面是我们普通的 WINDOWS 鼠标形状特征 //不同电脑上鼠标形状特征也许不同,请使用&抓点抓色&功能抓取正确的鼠标形状特征 Shape1 = //下面是我们访问网页超链接时候的手型鼠标形状 Shape2 = 8. 9. 10. 12. 14.shape=GetCursorShape(0) If shape = shape1 Then MessageBox &当前鼠标形状是普通的 WINDOWS 鼠标& MessageBox &当前鼠标形状是手型鼠标& MessageBox &不认识当前鼠标形状!&11. ElseIf shape = shape2 Then 13. Else 15. End If脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 12. 14. //参数: 0 是 6.83 之前的版本默认的参数 //参数: 1 可用于一些在参数 0 下无法区分鼠标形状代码的情况 //下面是我们普通的 WINDOWS 鼠标形状特征 //不同电脑上鼠标形状特征也许不同,请使用&抓点抓色&功能抓取正确的鼠标形状特征 Shape1 = //下面是我们访问网页超链接时候的手型鼠标形状 Shape2 = VBSCall Shape=GetCursorShape(0) If shape = shape1 MessageBox 当前鼠标形状是普通的 WINDOWS 鼠标 MessageBox 当前鼠标形状是手型鼠标 MessageBox 不认识当前鼠标形状!11. ElseIf shape = shape2 13. Else 15. EndIf命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)G e t L a s t Cl i ck 检 测 上 次 按 过 的 鼠 标 键检测上一次按下的鼠标代码 参数 1 整数型,可选:变量名 无 复制代码 1. Mouse=GetLastClick() 2. 3. 4. If Mouse =32770 Or Mouse =32769 Then Msgbox &你按下了鼠标左键& End If脚本例子: (7.x 语法)复制代码 1. GetLastClick Mouse 2. If Mouse =32770 Or Mouse =32769 3. 4.Msgbox &你按下了鼠标左键& EndIf命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)L e f t Cl i ck 左 键 单 击模拟点击鼠标左键 参数 1 整数型,次数 无 复制代码 1. 2. 3. 4. 5. //LeftClick、LeftClickS、LeftClickH //LeftClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的鼠标 都可以使用 //LeftClickH: 硬件模拟方式,仅支持 PS(圆口)的鼠标 点击查看使用硬件模拟方式的注意事项 LeftClick 5 //在当前鼠标的位置单击鼠标左键 5 次脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. //LeftClick、LeftClickS、LeftClickH //LeftClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的鼠标 都可以使用 //LeftClickH: 硬件模拟方式,仅支持 PS(圆口)的鼠标 点击查看使用硬件模拟方式的注意事项 LeftClick 5 //在当前鼠标的位置单击鼠标左键 5 次命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)L e f tD o ub l e Cl i ck 左 键 双 击模拟双击鼠标左键 参数 1 整数型,次数 无 复制代码 1. 2. 3. 4. 5. //LeftDoubleClick、LeftDoubleClickS、LeftDoubleClickH] //LeftDoubleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接 口的鼠标都可以使用 //LeftDoubleClickH: 硬件模拟方式,仅支持 PS(圆口)的鼠标 点击查看使用硬件模拟方式的注意事 项 LeftDoubleClick 5 //在当前鼠标的位置双击鼠标左键 5 次 脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. //LeftDoubleClick、LeftDoubleClickS、LeftDoubleClickH] //LeftDoubleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接 口的鼠标都可以使用 //LeftDoubleClickH: 硬件模拟方式,仅支持 PS(圆口)的鼠标 点击查看使用硬件模拟方式的注意事 项 LeftDoubleClick 5 //在当前鼠标的位置双击鼠标左键 5 次命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)L o ckM o us e 锁 定 鼠 标 位 置锁定鼠标位置,用户将不能通过移动鼠标而改变鼠标位置,而脚本仍可以改变鼠标位置 无 无 复制代码 1. 2. 3. 4. 5. //在脚本开始的时候使用这个命令,可以有效防止用户误触鼠标引起脚本执行出错 LockMouse Do Delay 1000 Loop脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. //在脚本开始的时候使用这个命令,可以有效防止用户误触鼠标引起脚本执行出错 LockMouse While True Delay 1000 EndWhile命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)M i d d l e Cl i ck 中 键 单 击模拟点击鼠标中键 参数 1 整数型,次数 无 复制代码 1. 2. 3. 4. //MiddleClick、MiddleClickS、MiddleClickH //MiddleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的鼠 标都可以使用 //MiddleClickH: 硬件模拟方式,仅支持 PS(圆口)的鼠标 点击查看使用硬件模拟方式的注意事项 MiddleClick 5 5.//在当前鼠标的位置单击鼠标中键 5 次脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. //MiddleClick、MiddleClickS、MiddleClickH //MiddleClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的鼠 标都可以使用 //MiddleClickH: 硬件模拟方式,仅支持 PS(圆口)的鼠标 点击查看使用硬件模拟方式的注意事项 MiddleClick 5 //在当前鼠标的位置单击鼠标中键 5 次命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)M o us e Whe e l 鼠 标 滚 轮滚动鼠标滚轮 参数 1 整数型,滚动量 无 复制代码 1. 2. 3. 4. //如果滚动量为正,向上滚动;否则向下滚动. //仅支持 Windows 2000 以上的操作系统. MouseWheel 1 //把鼠标滚轮向上滚动 1 格脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. //如果滚动量为正,向上滚动;否则向下滚动. //仅支持 Windows 2000 以上的操作系统. MouseWheel 1 //把鼠标滚轮向上滚动 1 格命令名称: 命令功能: 命令参数:M o ve R 鼠 标 相 对 移 动鼠标相对移动到 参数 1 整数型,X 距离 参数 2 整数型,Y 距离返 回 值: 脚本例子: (8.x 语法)无 复制代码 1. 2. 3. 4. //MoveR、MoveRS、MoveRH //MoveRS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的鼠标都可 以使用 //MoveRH: 硬件模拟方式,仅支持 PS(圆口)的鼠标 点击查看使用硬件模拟方式的注意事项 //当前鼠标在(100,100)点,使用下面语句 5. 6. 7.MoveR 200,300 //之后,鼠标就被移到了(100+200,100+300)处,也就是坐标(300,400)处 //提示:使用硬件模拟方式不能碰键盘鼠标,否则会导致出错脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. 6. 7. //MoveR、MoveRS、MoveRH //MoveRS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的鼠标都可 以使用 //MoveRH: 硬件模拟方式,仅支持 PS(圆口)的鼠标 点击查看使用硬件模拟方式的注意事项 //当前鼠标在(100,100)点,使用下面语句 MoveR 200,300 //之后,鼠标就被移到了(100+200,100+300)处,也就是坐标(300,400)处 //提示:使用硬件模拟方式不能碰键盘鼠标,否则会导致出错命令名称: 命令功能: 命令参数:M o ve To 鼠 标 移 动移动鼠标到 参数 1 整数型,X 坐标 参数 2 整数型,Y 坐标返 回 值: 脚本例子: (8.x 语法)无 复制代码 1. 2. 3. 4. 5. 6. 7. 8. 9. //MoveTo、MoveToS、MoveToH //MoveToS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的鼠标都可 以使用 //MoveToH: 硬件模拟方式,仅支持 PS(圆口)的鼠标 MoveTo 100,200 //把鼠标移动到(100,200)这个点上 intX=50 intY=150 MoveTo intX,intY //把鼠标移动到(intX,intY)这个点上,需要 5.50 以上版本支持.脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. 6. //MoveTo、MoveToS、MoveToH //MoveToS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的鼠标都可 以使用 //MoveToH: 硬件模拟方式,仅支持 PS(圆口)的鼠标 MoveTo 100,200 //把鼠标移动到(100,200)这个点上 intX=50 7. 8. 9.intY=150 MoveTo intX,intY //把鼠标移动到(intX,intY)这个点上,需要 5.50 以上版本支持.命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)R e s t o re M o us e Po s 恢 复 上 次 保 存 的 鼠 标 位 置保存当前鼠标位置 无 无 复制代码 1. SaveMousePos 2. 3. 4. 5. 6. 7. 8. 9. //保存当前鼠标位置 Delay 100 MoveTo 500,20 Delay 100 RestoreMousePos //将鼠标移动到上一次保存的鼠标位置 //保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位 置, //这样脚本执行后鼠标的位置就不会变化脚本例子: (7.x 语法)复制代码 1. SaveMousePos 2. 3. 4. 5. 6. 7. 8. 9. //保存当前鼠标位置 Delay 100 MoveTo 500,20 Delay 100 RestoreMousePos //将鼠标移动到上一次保存的鼠标位置 //保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位 置, 这样脚本执行后鼠标的位置就不会变化命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子:R i g ht Cl i ck 右 键 单 击模拟点击鼠标右键 参数 1 整数型,次数 无 复制代码 (8.x 语法)1. 2. 3. 4. 5.//RightClick、RightClickS、RightClickH //RightClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的鼠 标都可以使用 //RightClickH: 硬件模拟方式,仅支持 PS(圆口)的鼠标 点击查看使用硬件模拟方式的注意事项 RightClick 5 //在当前鼠标的位置单击鼠标右键 5 次脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. //RightClick、RightClickS、RightClickH //RightClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和 USB 接口的鼠 标都可以使用 //RightClickH: 硬件模拟方式,仅支持 PS(圆口)的鼠标 点击查看使用硬件模拟方式的注意事项 RightClick 5 //在当前鼠标的位置单击鼠标右键 5 次命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)S a ve M o us e Po s 保 存 当 前 鼠 标 所 在 位 置保存当前鼠标位置 无 无 复制代码 1. SaveMousePos 2. 3. 4. 5. 6. 7. 8. 9. //保存当前鼠标位置 Delay 100 MoveTo 500,20 Delay 100 RestoreMousePos //将鼠标移动到上一次保存的鼠标位置 //保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位 置, //这样脚本执行后鼠标的位置就不会变化脚本例子: (7.x 语法)复制代码 1. SaveMousePos 2. 3. 4. 5. 6. 7. //保存当前鼠标位置 Delay 100 MoveTo 500,20 Delay 100 RestoreMousePos //将鼠标移动到上一次保存的鼠标位置 8. 9.//保存/恢复鼠标位置常用于制作网络游戏练功脚本,脚本开始时保存鼠标位置,脚本结束时恢复鼠标位 置, 这样脚本执行后鼠标的位置就不会变化命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法) 脚本例子: (7.x 语法)U nl o ckM o us e 解 除 锁 定 鼠 标 位 置解除 LockMouse 命令对鼠标位置的锁定 无 无 复制代码 1. 复制代码 1. 2. //如果用户使用了 LockMouse 命令而没有使用 UnlockMouse 命令,按键精灵会在脚本结束时自动解除锁 定 UnlockMouse命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)W a i t Cl i ck 按 任 意 鼠 标 键 继 续脚本执行到这一句暂停,按下任意鼠标键之后继续 参数 1 整数型,可选:变量名 无 复制代码 1. last_click=WaitClick() 2. MessageBox &您按下了& & last_click脚本例子: (7.x 语法)复制代码 1. WaitClick last_click 2. MessageBox &您按下了& & last_click三、控制命令命令名称: 命令功能: 命令参数:Ca l l 调 用 过 程调用过程 参数 1 字符串型,过程名 返 回 值: 脚本例子: (8.x 语法)无 复制代码 1. 2. 3. 4. 5. 6. 7. Call 子程序(&我是子程序,被你调用了&) EndScript //支持中文名变量 Sub 子程序(啊) Msgbox 啊 End Sub //定义一个过程,可以在脚本中调用这个过程脚本例子: 复制代码 (7.x 语法)命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)Do 循 环条件循环 参数 1 条件型,循环条件 无 复制代码 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 例子 2: 11. i=0 12. Do Until i=0 13. Msgbox &为什么没有循环到我呢?& 14. Loop 15. Msgbox &循环结束& 16. //当循环条件成立的时候,离开循环体 17. 18. 19. 例子 3: 20. i=0 21. Do Until i=1 22. Msgbox &我停不下来啦!!快住手& 例子 1: //支持 Exit Do 命令退出循环 i=0 Do While i=0 Msgbox &我停不下来啦!!快住手& Loop //当循环条件成立的时候,反复执行循环体 23. Loop 24. //当循环条件不成立的时候,反复执行循环体 25. 26. 27. 例子 4: 28. n=0 29. Do While true 30. 31. 32. 33. 34. 35. Msgbox &我将循环 10 次停下来!!& If n&=10 Then //当循环条件成立的时候,离开循环体 Exit do End if n=n+136. Loop 37. Msgbox n & &次& 38. 39. 40. 例子 5: 41. i = 0 42. Do 43. MessageBox &ok& 44. Loop While i && 0 45. //条件放后面,前面的循环内容可以执行一次!脚本例子: (7.x 语法)复制代码 1. 无命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)Fo r 循 环循环一定次数 参数 1 整数型,循环次数 无 复制代码 1. 2. 3. 4. 5. 6. 7. 8. 9. 例子 2: //支持 Exit For 命令退出循环 例子 1: //支持 Exit For 命令退出循环 For i=0 To 9 Delay 100 Next //循环 10 次 10. For 10 11. Delay 100 12. Next 13. //循环 10 次 14. 15. 16. 例子 3: 17. //支持 Exit For 命令退出循环 18. For i=0 to 19 step 2 19. Delay 100 20. Next 21. //循环 10 次 22. 23. 例子 4: 24. //支持 Exit For 命令退出循环 25. For i=0 to 19 step 2 26. 27. 28. 29. 30. Next 31. //循环 5 次 Delay 100 If i&9 Then Exit For End If脚本例子: (7.x 语法)复制代码 1. For 10 2. 3. 4. Delay 100 EndFor //循环 10 次命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)Funct i o n 函 数函数 多类型,多参数 多类型 复制代码 1. 2. 3. 4. 5. 6. 7. //支持 Exit Function 命令退出函数过程 Msgbox 函数过程(&我是函数,被你调用了&) EndScript Function 函数过程(a) 函数过程=a End Function //定义一个函数过程,可以在脚本中调用这个函数 脚本例子: (7.x 语法)复制代码 1. 无命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)G o s ub 调 用 子 程 序调用过程 参数 1 字符串型,过程名 无 复制代码 1. 2. 3. 4. 5. 6. 7. //可带参数传递 Call 子程序(&我是子程序,被你调用了&) EndScript Sub 子程序(a) Msgbox a End Sub //定义一个过程,可以在脚本中调用这个过程脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. 6. Gosub 子程序 EndScript Sub 子程序 Msgbox &我是子程序,被你调用了& Return 子程序 //定义一个过程,可以在脚本中调用这个过程命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)Goto 跳 转 到 标 记跳转到 Rem 标记处 参数 1 字符串型,标号 无 复制代码 1. 2. 3. 4. 5. Goto 标记 Delay 100 Rem 标记 Msgbox &你直接跳到这里了!!,上面的延迟没有被执行!!& //跳转语句,可以跳转到 rem 标记过的标记处继续执行 脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. Goto 标记 Delay 100 Rem 标记 Msgbox &你直接跳到这里了!!,上面的延迟没有被执行!!& //跳转语句,可以跳转到 rem 标记过的标记处继续执行命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)If 如 果 . . 则判断表达式 参数 1 条件型,表达式 无 复制代码 1. 2. 3. 4. 5. 6. 7. 8. 9. 例子 2: i=1 例子 1: i=0 If i=0 Then Msgbox &条件判断符合被通过!!& End If //通过判断表达式的取值,来执行后面的动作或控制10. If i=0 Then 11. 13. 15. Msgbox &条件判断符合被通过!!& Msgbox &否则条件判断符合被通过!!& Msgbox &否则!!& 12. ElseIf i=1 Then 14. Else 16. End If 17. //通过判断表达式的取值,来执行后面的动作或控制脚本例子: (7.x 语法)复制代码 1. i=0 2. 3. 4. 5. If i=0 Msgbox &条件判断符合被通过!!& EndIf //通过判断表达式的取值,来执行后面的动作或控命令名称: 命令功能:If Co l o r 颜 色 判 断判断屏幕某点的颜色 命令参数:参数 1 整数型,屏幕 X 坐标 参数 2 整数型,屏幕 Y 坐标 参数 3 字符串型,颜色 16 进制值 参数 4 整数型,判断条件返 回 值: 脚本例子: (8.x 语法)无 复制代码 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 例子 2: 12. a=1:b=1 13. IfColor 650,118,&78F0E8&,2 Then 14. 16. MessageBox &a& MessageBox &b& 15. ElseIf b=a Then 17. End if 例子 1: //判断条件(0:等于 1:不等于 2:近似等于) IfColor 860,27,&e1b072&,0 Then Msgbox &颜色等于& Else Msgbox &颜色不等于& End If //判断坐标点(860,27)的颜色是否等于 e1b072脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. 6. 7. //判断条件(0:等于 1:不等于 2:近似等于) IfColor 860,27,e1b072,0 Msgbox &颜色等于& Else Msgbox &颜色不等于& EndIf //判断坐标点(860,27)的颜色是否等于 e1b072命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子:R e m 标 记 /注 释标记命令可当注释 参数 1 字符串型,文字 无 复制代码 (8.x 语法)1. 2. 3.//不支持数字开头的和符号作为标记名 //标记命令.即可当注释,也可以为 Goto 跳转指令作标记 Rem 脚本开始脚本例子: (7.x 语法)复制代码 1. 2. //标记命令.即可当注释,也可以为 Goto 跳转指令作标记 Rem 脚本开始命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)R e s t a rt S cr i p t 重 新 启 动 脚 本 运 行重新启动脚本运行 无 无 复制代码 1. For i=0 to 2 2. 3. 4. 5. Delay 1000 Call Plugin.Msg.ShowScrTXT(0, 0, , &屏幕内容填写& & i, &0000FF&) Next RestartScript //重新启动脚本运行脚本例子: (7.x 语法)复制代码 1. 无命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)S e l e ct 情 况 条 件 选 择根据情况选择条件判断 参数 1 条件型,情况 无 复制代码 1. 2. 3. 4. 5. 6. 7. 8. 9. //不支持判断语句 如:Case a&0 UserVar 变量=0 &输入(0~9)数字& //&&---------------------------------------------以下是选择条件结结构判断 Select Case 变量 Case 0 Msgbox &你输入的数字为:0& Case 1 Msgbox &你输入的数字为:1& Case 2 10. 12. 14. 16. 18. 20. 22. 24. 26.Msgbox &你输入的数字为:2& Msgbox &你输入的数字为:3& Msgbox &你输入的数字为:4& Msgbox &你输入的数字为:5& Msgbox &你输入的数字为:6& Msgbox &你输入的数字为:7& Msgbox &你输入的数字为:8& Msgbox &你输入的数字为:9& Msgbox &你输入的数字不正确,请输入(0~9)数字!&11. Case 3 13. Case 4 15. Case 5 17. Case 6 19. Case 7 21. Case 8 23. Case 9 25. Case Else 27. End Select脚本例子: (7.x 语法)复制代码 1. 无命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)S ub 子 程 序定义一个过程 参数 1 字符串型,过程名 无 复制代码 1. 2. 3. 4. 5. 6. 7. //支持 Exit Sub 命令退出子程序过程 Call 子程序() EndScript Sub 子程序() Msgbox &我是子程序,被你调用了& End Sub //定义一个过程,可以在脚本中调用这个过程脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. Gosub 子程序 EndScript Sub 子程序 Msgbox &我是子程序,被你调用了& 5. 6.Return 子程序 //定义一个过程,可以在脚本中调用这个过程命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)W hi l e 如 果 .. 则 循 环条件循环 参数 1 条件型,循环条件 无 复制代码 1. i=0 2. 3. 4. 5. While i=0 Msgbox &我停不下来啦!!快住手& Wend //当循环条件成立的时候,反复执行循环体脚本例子: (7.x 语法)复制代码 1. i=0 2. 3. 4. 5. While i=0 Msgbox &我停不下来啦!!快住手& EndWhile //当循环条件成立的时候,反复执行循环体四、颜色/图像命令命令名称: 命令功能: 命令参数:Fi nd Ce nt e r Co l o r 中 心 找 色在屏幕区域从中心开始查找指定的颜色 参数 1 整数型,屏幕左上角 x 坐标 参数 2 整数型,屏幕左上角 y 坐标 参数 3 整数型,屏幕右下角 x 坐标 参数 4 整数型,屏幕右下角 y 坐标 参数 5 字符串型,16 进制颜色值 参数 6 整数型,返回 x 坐标 参数 7 整数型,返回 y 坐标 返 回 值: 脚本例子: (8.x 语法)无 复制代码 1. //FindCenterColor left,top,right,bottom,c,x,y 2. 3. 4. 5. 6. 7. 8. 9. //在区域内从中心到外围找颜色为 c 的点,把坐标保存在变量 x 和 y 中 //left,top,right,bottom 都是整数或者整数型变量,说明了区域的左,上,右,下界限 //颜色是类似于&0000FF&的字符串,如果不取变量,别忘了加双引号 //如果没有找到这个颜色,则 x 和 y 的值都被置为-1 FindCenterColor 0,0,800,600,&0000FF&,x,y If x&0 and y&0 Then MoveTo x,y End If10. //在区域(0,0,800,600)中找红色(&0000FF&)的点,如果找到,则把鼠标移动到这个点脚本例子: (7.x 语法)复制代码 1. //VBSCall FindCenterColor(left,top,right,bottom,c,x,y) 2. 3. 4. 5. 6. 7. 8. 9. //在区域内从中心到外围找颜色为 c 的点,把坐标保存在变量 x 和 y 中 //left,top,right,bottom 都是整数或者整数型变量,说明了区域的左,上,右,下界限 //颜色是类似于&0000FF&的字符串,如果不取变量,别忘了加双引号 //如果没有找到这个颜色,则 x 和 y 的值都被置为-1 VBSCall FindCenterColor(0,0,800,600,&0000FF&,x,y) If x&0 and y&0 MoveTo x,y EndIf10. //在区域(0,0,800,600)中找红色(&0000FF&)的点,如果找到,则把鼠标移动到这个点命令名称: 命令功能: 命令参数:Fi nd Co l o r 找 色在屏幕区域从左到右、从上到下的查找指定的颜色 参数 1 整数型,屏幕左上角 x 坐标 参数 2 整数型,屏幕左上角 y 坐标 参数 3 整数型,屏幕右下角 x 坐标 参数 4 整数型,屏幕右下角 y 坐标 参数 5 字符串型,16 进制颜色值 参数 6 整数型,返回 x 坐标 参数 7 整数型,返回 y 坐标返 回 值: 脚本例子: (8.x 语法)无 复制代码 1. //FindColor left,top,right,bottom,c,x,y 2. 3. 4. 5. 6. 7. 8. 9.//在区域内从左到右,从上到下找颜色为 c 的点,把坐标保存在变量 x 和 y 中 //left,top,right,bottom 都是整数或者整数型变量,说明了区域的左,上,右,下界限 //颜色是类似于&0000FF&的字符串,如果不取变量,别忘了加双引号 //如果没有找到这个颜色,则 x 和 y 的值都被置为-1 FindColor 0,0,800,600,&0000FF&,x,y If x&0 and y&0 Then MoveTo x,y End If10. //在区域(0,0,800,600)中找红色(&0000FF&)的点,如果找到,则把鼠标移动到这个点脚本例子: (7.x 语法)复制代码 1. //VBSCall FindColor(left,top,right,bottom,c,x,y) 2. 3. 4. 5. 6. 7. 8. 9. //在区域内从左到右,从上到下找颜色为 c 的点,把坐标保存在变量 x 和 y 中 //left,top,right,bottom 都是整数或者整数型变量,说明了区域的左,上,右,下界限 //颜色是类似于&0000FF&的字符串,如果不取变量,别忘了加双引号 //如果没有找到这个颜色,则 x 和 y 的值都被置为-1 VBSCall FindColor(0,0,800,600,&0000FF&,x,y) If x&0 and y&0 MoveTo x,y EndIf10. //在区域(0,0,800,600)中找红色(&0000FF&)的点,如果找到,则把鼠标移动到这个点命令名称: 命令功能: 命令参数:Fi nd Co l o r E x 模 糊 找 色在屏幕区域模糊查找指定的颜色 参数 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,y 2. 3. 4. //在区域内找颜色为 c 的点,把坐标保存在变量 x 和 y 中 //left,top,right,bottom 都是整数或者整数型变量,说明了区域的左,上,右,下界限 //颜色是类似于&0000FF&的字符串,如果不取变量,别忘了加双引号 5. 6. 7. 8. 9. 10.//type 表示查找方式。0 为从上往下,从左往右找;1 为从中心往外围找 //similar 为相似度,取 0.3 到 1 之间的小数。数值越大,对相似度要求越严格。推荐取 0.8 //如果没有找到这个颜色,则 x 和 y 的值都被置为-1 FindColorEx 0,0,800,600,&0000FF&,1,0.8,x,y If x&0 and y&0 Then MoveTo x,y11. End If 12. //在区域(0,0,800,600)中,从中间开始找接近红色(&0000FF&)的点,如果找到,则把鼠标移动到这个 点脚本例子: (7.x 语法)复制代码 1. //VBSCall FindColorEx(left,top,right,bottom,c,type,similar,x,y) 2. 3. 4. 5. 6. 7. 8. 9. 10. //在区域内找颜色为 c 的点,把坐标保存在变量 x 和 y 中 //left,top,right,bottom 都是整数或者整数型变量,说明了区域的左,上,右,下界限 //颜色是类似于&0000FF&的字符串,如果不取变量,别忘了加双引号 //type 表示查找方式。0 为从上往下,从左往右找;1 为从中心往外围找 //similar 为相似度,取 0.3 到 1 之间的小数。数值越大,对相似度要求越严格。推荐取 0.8 //如果没有找到这个颜色,则 x 和 y 的值都被置为-1 VBSCall FindColorEx(0,0,800,600,&0000FF&,1,0.8,x,y) If x&0 and y&0 MoveTo x,y11. EndIf 12. //在区域(0,0,800,600)中,从中间开始找接近红色(&0000FF&)的点,如果找到,则把鼠标移动到这个 点命令名称: 命令功能: 命令参数:Fi nd Pi c 找 图在屏幕区域查找指定相似度的图片 参数 1 整数型,屏幕左上角 x 坐标 参数 2 整数型,屏幕左上角 y 坐标 参数 3 整数型,屏幕右下角 x 坐标 参数 4 整数型,屏幕右下角 y 坐标 参数 5 字符串型,bmp 格式图片路径 参数 6 整数型,相似度 参数 7 整数型,返回 x 坐标 参数 8 整数型,返回 y 坐标返 回 值: 脚本例子:无 复制代码 1. //FindPic left,top,right,bottom,filename,similar,x,y (8.x 语法)2. 3. 4. 5. 6. 7. 8. 9.//在区域内从左到右,从上到下找文件名为 filename 的 bmp 文件,把找到的坐标保存在变量 x 和 y 中 //left,top,right,bottom 都是整数或者整数型变量,说明了区域的左,上,右,下界限 //filename 是一个 bmp 格式的图片,需要您自己抓取,最好是 24 位,把边缘都设为单一的颜色 //similar 为相似度,取 0.5 到 1 之间的小数。数值越大,对图片的相似度要求越严格,速度也越快。推荐 取 0.9 //如果没有找到图片,则 x 和 y 的值都被置为-1 //推荐使用周围颜色单一的图片 MessageBox &这个例子会启动一个 Windows 自带的扫雷程序,然后查找扫雷程序里的笑脸图形& RunApp &winmine.exe&10. //加入一点延时,让扫雷程序顺利启动 11. Delay 2000 12. FindPic 0,50,,&winmine.bmp&,0.9,intX,intY 13. If intX&0 and intY&0 Then 14. 15. 17. MoveTo intX,intY MessageBox &找到图形,鼠标已经移到图形上面& MessageBox &没找到!请确认扫雷程序已经打开,并且您用的是 WinXP 系统&16. Else 18. End If 19. //在区域(0,50,)中找与文件 winmine.bmp 中的图形比较接近的地方,如果找到,则把鼠标移 动到这个地方 20. //6.30 版之后,找图的文件路径可以直接引用附件中的图片,不需要释放,例子 21. MessageBox &下面把鼠标先移到 0,0 点,再用附件找图的方式继续查找笑脸& 22. FindPic 0,50,,&Attachment:\winmine.bmp&,0.9,intX,intY 23. If intX&0 and intY&0 Then 24. 25. 27. MoveTo intX,intY MessageBox &找到图形,鼠标已经移到图形上面& MessageBox &没找到!请确认扫雷程序已经打开,并且您用的是 WinXP 系统&26. Else 28. End If 29. MessageBox &脚本演示结束,最好的脚本永远是您自己制作的。 :-)& 30. EndScript脚本例子: (7.x 语法)复制代码 1. //VBSCall FindPic(left,top,right,bottom,filename,similar,x,y) 2. 3. 4. 5. 6. 7. 8. 9. //在区域内从左到右,从上到下找文件名为 filename 的 bmp 文件,把找到的坐标保存在变量 x 和 y 中 //left,top,right,bottom 都是整数或者整数型变量,说明了区域的左,上,右,下界限 //filename 是一个 bmp 格式的图片,需要您自己抓取,最好是 24 位,把边缘都设为单一的颜色 //similar 为相似度,取 0.5 到 1 之间的小数。数值越大,对图片的相似度要求越严格,速度也越快。推荐 取 0.9 //如果没有找到图片,则 x 和 y 的值都被置为-1 //推荐使用周围颜色单一的图片 MessageBox &这个例子会启动一个 Windows 自带的扫雷程序,然后查找扫雷程序里的笑脸图形& VBSCall RunApp(&winmine.exe&)10. //加入一点延时,让扫雷程序顺利启动 11. Delay 2000 12. VBSCall FindPic(0,50,,&winmine.bmp&,0.9,intX,intY) 13. If intX&0 and intY&0 14. 15. 17. MoveTo intX,intY MessageBox &找到图形,鼠标已经移到图形上面& MessageBox &没找到!请确认扫雷程序已经打开,并且您用的是 WinXP 系统&16. Else 18. EndIf 19. //在区域(0,50,)中找与文件 winmine.bmp 中的图形比较接近的地方,如果找到,则把鼠标移 动到这个地方 20. //6.30 版之后,找图的文件路径可以直接引用附件中的图片,不需要释放,例子 21. MessageBox &下面把鼠标先移到 0,0 点,再用附件找图的方式继续查找笑脸& 22. VBSCall FindPic(0,50,,&Attachment:\winmine.bmp&,0.9,intX,intY) 23. If intX&0 and intY&0 24. 25. 27. MoveTo intX,intY MessageBox &找到图形,鼠标已经移到图形上面& MessageBox &没找到!请确认扫雷程序已经打开,并且您用的是 WinXP 系统&26. Else 28. EndIf 29. MessageBox &脚本演示结束,最好的脚本永远是您自己制作的。 :-)& 30. EndScript命令名称: 命令功能: 命令参数:G e t Pi x e l Col o r 得 到 指 定 点 颜 色得到指定位置的点的颜色 参数 1 整数型,屏幕 X 坐标 参数 2 整数型,屏幕 Y 坐标返 回 值: 脚本例子: (8.x 语法)字符串型,得到的颜色 16 进制值 复制代码 1. GetCursorPos x,y 2. 3. 4. cr1=GetPixelColor(x,y) MessageBox cr1 //得到当前点的颜色,并弹出对话框显示出来脚本例子: (7.x 语法)复制代码 1. VBSCall GetCursorPos(x,y) 2. 3. 4. VBSCall color1=GetPixelColor(x,y) MessageBox color1 //得到当前点的颜色,并弹出对话框显示出来 五、其他命令命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)Delay 延 时脚本暂停执行一段时间 参数 1 整数型,延时时间 无 复制代码 1. 2. 3. 4. 5. 6. 7. //{延时}里面填写”毫秒”数 //1 秒=1000 毫秒, 1 分钟=60000 毫秒, 1 小时=3600000 毫秒 Delay 6000 //延迟 6 秒 x = 5000 Delay x //延时 x 秒,这里 x 是 5 秒脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. 6. 7. //{延时}里面填写”毫秒”数 //1 秒=1000 毫秒, 1 分钟=60000 毫秒, 1 小时=3600000 毫秒 Delay 6000 //延迟 6 秒 x = 5000 Delay x //延时 x 秒,这里 x 是 5 秒命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)Im p o r t 导 入 命 令导入一个 vbs 文件或者插件 dll 文件 参数 1 字符串型,vbs 文件或插件 dll 文件 无 复制代码 1. 2. 3. 4. //当文件被导入后,里面的函数可以直接被调用,不需要使用 VBSCall 或 Plugin 命令 //在 VBScript 块中需要调用 vbs 文件或者插件中的函数时,必须采用这种方式,不能再冠以 VBSCall 或 Plugin 关键字 Import &Memory.dll& //导入 Memory 插件命令 脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. //当文件被导入后,里面的函数可以直接被调用,不需要使用 VBSCall 或 Plugin 命令 //在 VBScript 块中需要调用 vbs 文件或者插件中的函数时,必须采用这种方式,不能再冠以 VBSCall 或 Plugin 关键字 Import Memory.dll //导入 Memory 插件命令命令名称: 命令功能: 命令参数:Inp ut B o x 用 户 输 入 对 话 框在对话框中显示提示,等待用户输入文本或单击按钮,并返回文本框内容。 参数 1 字符串型,消息字符串 参数 2 字符串型[可选],标题 参数 3 字符串型[可选],提示框默认内容 参数 4 整数型[可选],对话框 X 坐标位置 参数 5 整数型[可选],对话框 Y 坐标位置返 回 值: 脚本例子: (8.x 语法)字符串型,返回文本框内容 复制代码 1. Dim Input 2. 3. 4. 5. 6. 7. 8. 9. //[可选]意思是,也可以不需要填参数 //如下: Dim Input Input = InputBox(&请输入名字:&) Input = InputBox(&请输入名字:&,&提示:&,&张三&,0,0) MsgBox &输入: & & Input10. MsgBox &输入: & & Input脚本例子: (7.x 语法)复制代码 1. Dim Input 2. 3. 4. 5. 6. 7. 8. 9. //[可选]意思是,也可以不需要填参数 //如下: Dim Input Input = InputBox(&请输入名字:&) Input = InputBox(&请输入名字:&,&提示:&,&张三&,0,0) MsgBox &输入: & & Input10. MsgBox &输入: & & Input 命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)LogStart 开 始 记 录 日 志记录日志 字符串型:文件名 无 复制代码 1. 2. 3. 4. 5. 6. 7. LogStart &C:\a.log& //记录日志 For i = 0 To 3 TracePrint &保存次数:& & i Call Plugin.Msg.ShowScrTXT(0, 0, , &屏幕内容填写:& & i, &0000FF&) Next LogStop //记录日志停止 TracePrint &这句不会输出到日志里!&脚本例子: (7.x 语法)复制代码 1. 无命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)LogStop 停 止 日 志 记 录停止日志记录 无 无 复制代码 1. 2. 3. 4. 5. 6. 7. LogStart &C:\a.log& //记录日志 For i = 0 To 3 TracePrint &保存次数:& & i Call Plugin.Msg.ShowScrTXT(0, 0, , &屏幕内容填写:& & i, &0000FF&) Next LogStop //记录日志停止 TracePrint &这句不会输出到日志里!&脚本例子: (7.x 语法)复制代码 1. 无命令名称:MessageBox 弹 出 对 话 框 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)弹出一个窗口 参数 1 字符串型,提示内容文字 无 复制代码 1. 2. 3. 4. MessageBox &弹出窗口& //提醒: 按键 VBS 语句中也提供了 MessageBox 命令,可以支持变量,因此 MessageBox 命令也可以直接 写成支持变量的方式 x = &提醒窗口& MessageBox x脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. MessageBox &弹出窗口& //提醒: 按键 VBS 语句中也提供了 MessageBox 命令,可以支持变量,因此 MessageBox 命令也可以直接 写成支持变量的方式 x = &提醒窗口& MessageBox x命令名称: 命令功能: 命令参数:Put A t t a chm e nt 释 放 附 件把当前脚本包含的附件展开到指定的路径下 参数 1 字符串型,可选:路径 参数 2 字符串型,可选:要释放的文件返 回 值: 脚本例子: (8.x 语法)无 复制代码 1. 2. 3. 4. 5. 6. 7. //[路径]是指定的相对路径或者绝对路径。 //如果省略[路径]或者[路径]为 . ,则默认展开到按键精灵所在的文件夹中 //可以指定要释放的文件,允许使用通配符,如 *.bmp。如果不指定要释放的文件,则默认释放所有文件 PutAttachment &c:\&,&*.bmp& //将附件中所有后缀是 bmp 的文件释放到 c 盘 PutAttachment &.\plugin&,&*.dll& //将附件中所有后缀是 dll 的文件释放到当前文件夹的 plugin 目录下脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. //[路径]是指定的相对路径或者绝对路径。 //如果省略[路径]或者[路径]为 . ,则默认展开到按键精灵所在的文件夹中 //可以指定要释放的文件,允许使用通配符,如 *.bmp。如果不指定要释放的文件,则默认释放所有文件 PutAttachment c:\ *.bmp //将附件中所有后缀是 bmp 的文件释放到 c 盘 6. 7.PutAttachment .\plugin *.dll //将附件中所有后缀是 dll 的文件释放到当前文件夹的 plugin 目录下命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)R unA p p 运 行启动一个程序或者打开一个文件 参数 1 字符串型,要运行的程序或者文件 无 复制代码 1. 2. 3. //如果程序路径不是变量,别忘了加双引号 RunApp ¬epad.exe& //启动 Windows 记事本程序脚本例子: (7.x 语法)复制代码 1. 2. 3. //如果程序路径不是变量,别忘了加双引号 VBSCall RunApp(¬epad.exe&) //启动 Windows 记事本程序命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)S a yS t r i ng 输 入 文 本在当前窗口输入文字 参数 1 字符串型,表达式 无 复制代码 1. 2. 3. SayString &你好啊& x = &我很好& SayString x脚本例子: (7.x 语法)复制代码 1. 2. 3. SayString &你好啊& x = &我很好& SayString x命令名称: 命令功能:S e t S i mM o d e 设 置 模 拟 方 式设置模拟方式 命令参数: 返 回 值: 脚本例子: (8.x 语法)参数 1 整数型,设置模拟方式 无 复制代码 1. 2. 3. 4. 5. 6. 7. 8. 9. //模拟方式(0 普通|1 硬件|2 超级) MessageBox &这个例子会演示 普通/硬件/超级 这三种模拟方式的效果,点击确定后 3 秒钟开始模拟,会 用普通模拟按 3 下 a,硬件模拟按 3 下 b,超级模拟按 3 下 c& Delay 3000 SetSimMode 0 KeyPress 65,3 MoveTo 0,0 Delay 1000 SetSimMode 1 KeyPress 66,310. MoveTo 100,100 11. Delay 1000 12. SetSimMode 2 13. KeyPress 67,3 14. MoveTo 200,200 15. MessageBox &演示结束&脚本例子: (7.x 语法)复制代码 1. 2. 3. 4. 5. 6. 7. 8. 9. //模拟方式(0 普通|1 硬件|2 超级) MessageBox &这个例子会演示 普通/硬件/超级 这三种模拟方式的效果,点击确定后 3 秒钟开始模拟,会 用普通模拟按 3 下 a,硬件模拟按 3 下 b,超级模拟按 3 下 c& Delay 3000 SetSimMode 0 KeyPress 65,3 MoveTo 0,0 Delay 1000 SetSimMode 1 KeyPress 66,310. MoveTo 100,100 11. Delay 1000 12. SetSimMode 2 13. KeyPress 67,3 14. MoveTo 200,200 15. MessageBox &演示结束& 16.命令名称: 命令功能:Tr a ce Pr i nt 调 试 输 出在调试窗口打印文字 命令参数: 返 回 值: 脚本例子: (8.x 语法)参数 1 字符串型,变量名 无 复制代码 1. x=100 2. 3. 4. //可用于输出变量的值 TracePrint x //在调试窗口输出变量 x 的值脚本例子: (7.x 语法)复制代码 1. 2. 3. //可用于输出变量的值 TracePrint x //在调试窗口输出变量 x 的值命令名称: 命令功能: 命令参数:U s e r Va r 用 户 定 义 变 量用于支持用户设置脚本参数 参数 1 字符串型,变量 参数 2 字符串型,默认值返 回 值: 脚本例子: (8.x 语法)字符串型,设置的值 复制代码 1. 2. 3. 4. 5. 6. 7. 8. 9. //标准型自定义变量 //格式: UserVar {变量}={默认值} {注释} //解释:这个命令主要用于用户自定义的设置功能 UserVar var1=30 &当 HP<多少%时,使用红药& UserVar var2=30 &当 MP<多少%时,使用蓝药& //当用户使用这个脚本的时候,可以对这 var1 和 var2 这两个变量的取值进行设置 //下拉型自定义变量 //格式: UserVar 变量=DropList{选项 0:值 0|选项 1:值 1|选项 2:值 2}=默认显示的选项编号 {注 释} //解释:这个命令预先设定多个变量值,用户可在基面通过下拉方式进行选择 &:0.3}=2 &自动补血设置& 11. //特别提醒:默认显示的选项编号从 0 开始 10. UserVar Var1=DropList{&低于 10%时补血&:0.1|&低于 20%时补血&:0.2|&低于 30%时补血脚本例子: (7.x 语法)复制代码 1. 2. 3. //标准型自定义变量 //格式: UserVar {变量}={默认值} {注释} //解释:这个命令主要用于用户自定义的设置功能 4. 5. 6. 7. 8. 9.UserVar var1=30 当 HP<多少%时,使用红药 UserVar var2=30 当 MP<多少%时,使用蓝药 //当用户使用这个脚本的时候,可以对这 var1 和 var2 这两个变量的取值进行设置 //下拉型自定义变量 //格式: UserVar 变量=DropList{选项 0:值 0|选项 1:值 1|选项 2:值 2}=默认显示的选项编号 {注 释} //解释:这个命令预先设定多个变量值,用户可在基面通过下拉方式进行选择 补血设置10. UserVar Var1=DropList{低于 10%时补血:0.1|低于 20%时补血:0.2|低于 30%时补血:0.3}=2 自动 11. //特别提醒:默认显示的选项编号从 0 开始命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)V B S B e g i n. . VB S End VB S 执 行 块构成一个 VBScript 块 无 无 复制代码 1. VBSBegin 2. 3. 4. 5. 6. 7. 8. 9. 11. 12. 13. 14. 15. VBSEnd 16. //下面是使用过程函数 17. name 10 18. Next VBSEnd //在 VBScript 块中可以使用任何 VBScript 语句(包括 VBScript 的条件判断、子程序调用等等),也可 以使用大多数的按键精灵命令。 例子 2: //定义过程必须放在脚本开头! '这是一个注释 Function name(list) msgbox list+1 End Function For i=0 to 5 Msgbox &我在循环运行 VBScript 块哦!!& '这是注释10. VBSBegin脚本例子: (7.x 语法)复制代码 1. VBSBegin 2. 3. For i=0 to 5 Msgbox &我在循环运行 VBScript 块哦!!& 4. 5. 6. 7. 8. 9. 11. 12. 13. 14. Next VBSEnd'这是注释//在 VBScript 块中可以使用任何 VBScript 语句(包括 VBScript 的条件判断、子程序调用等等),也可 以使用大多数的按键精灵命令。 例子 2: //定义过程必须放在脚本开头! '这是一个注释 Function name(list) msgbox list+1 End Function10. VBSBegin15. VBSEnd 16. //下面是使用过程函数 17. name 10 18.Windowns 扫雷游戏脚本实例:Rem Start LockMouse //查找扫雷窗口,句柄存为 hd Plugin hd=Window.Find(&扫雷&,&扫雷&) If hd=0 MessageBox &你应该没有打开扫雷游戏吧?& Else //获得窗口四个角的坐标 Plugin WRect=Window.GetWindowRect(hd) VBS Dim x(4) VBS i=1 While i&=4 VBS WL=Len(WRect) VBS LL=InStr(WRect,&|&) If LL&&0 VBS x(i)=left(WRect,LL-1) VBS WRect=right(WRect,Wl-LL) Else VBS x(i)=WRect EndIf VBS i=i+1 EndWhile VBS Dim hg,sg //计算横格数 VBS hg=int((x(3)-x(1)-20)/16) //计算竖格数 VBS sg=Int((x(4)-x(2)-100)/16) MoveTo x(3)+1,x(4)+1 LeftClick 1 Delay 10 Plugin Window.SendKeyPress(hd,88) Delay 10 Plugin Window.SendKeyPress(hd,89) Delay 10 Plugin Window.SendKeyPress(hd,90) Delay 10 Plugin Window.SendKeyPress(hd,90) Delay 10 Plugin Window.SendKeyPress(hd,89) Delay 10 Plugin Window.SendKeyPress(hd,16) Delay 10 Plugin Window.Active(hd) //雷区最左上角一格的坐标 VBS x0=x(1)+21:y0=x(2)+100 VBS i=0 //用鼠标扫描整个雷区 While i&sg VBS j=0 While j&hg MoveTo x0+j*16,y0+i*16 Delay 5 IfColor 0,0,ffffff,0 LeftClick 1 Else IfColor 0,0,0,0 Else KeyPress 116,1 Goto Start EndIf EndIf VBS j=j+1 EndWhile VBS i=i+1 EndWhile EndIf UnlockMouse EndScript按键插件《扫雷》系列一【读取内存】 内存读取插件,用于读取某窗体句柄所在进程内存。与按键精灵本身提供的“VBSCall ReadMemory()”功能几乎相 同。 不同点在于: 1、VBSCall ReadMemory()读取最前台窗口内存。Plugin Memory.Read()读取某窗体的内存。 2、Memory 插件,提供更多更丰富的功能。 在给出 Memory 插件例子之前,先说说 windows 如何管理进程内存的,知其然要知其所以然,避免概念上的错误 理解。 在说内存之前,我们要知道 windows 是多进程的操作系统,CPU 时间片根据进程优先级的不同在各个进程中切 换,从而实现了多进程的管理机制。要详细解释“进程-内存”的关系比较复杂,一两篇文章也说不清楚。这里我就简要 说明几个与本文有关联的系统知识。 绝大多数学过计算机编程的同学,应该都清楚,在编写程序的时候,根本就没有多进程的概念,也不会向这方面 想。但一到涉及到内存的时候就会犯迷糊,windows 这么多进程,到底应该读取哪个地方的内存呢?其实不是这样的, windows 只是模拟出多进程的环境,实际的运算都在 CPU 上完成,而一个 CPU 在一个时间只能处理一条指令,也就是 说,对于 cpu 而言,只是单进程操作(请允许我提到 CPU、指令这些与汇编有关系的内容,我想不到如何能把这个概 念简单的描述出来,这些是概念,看懂意思就没问题了) 。windows 模拟多进程的操作,大概是这样的:把进程 A 送到 CPU 中处理 20 微秒-&保存进程 A 环境-&进程 B 送到 CPU 中处理 20 微秒-&保存进程 B 环境……一直循环这个过程。 CPU 的速度很快,系统在多进程切换,我们基本上感觉不到。所以实现了“多进程”。 现在轮到内存了:_) 内存这里是个比较卡人的地方,当初我也卡在这里过,其实当初也是因为概念不明而已,我在这里详细说说。 windows 有一套自己的内存管理方案,每个进程都独享独立的 4G 虚拟地址空间(注意这里,是虚拟地址内存,非物理 内存,当初我就卡在这里了) 。这个 4G,在每个进程中都是真实存在的,但因为是虚拟内存(注意这里,这里所说的 虚拟内存和调节 windows 的虚拟内存不是一个东西) ,程序用到的内存部分,加载到物理内存,供给 cpu 读取,用不到 的,依然还是硬盘上的文件。所以实际的物理内存占用并不高。明白这个概念,之后的东西就好办了。我们在读取内 存的时候,读出来的都在虚拟里,windows 是不允许用户直接操作物理内存的(这里涉及到 ring0/3 环的问题,与本文 无关,略过,只要记住,我们不要考虑物理内存就可以了) 。举个例子,我们读取进程 A 中的 50000 地址,再读取进程 B 中的 50000 地址,读的地址,完全不同,因为他们放到两快虚拟内存中。至于它到底在物理内存中哪个位置,只有 windows 知道(其实对程序员来说,也没有必要知道) 。 我反复强调了“进程-内存”,是因为我当初卡在这里过,如果看到这里,你还是云里雾里,那么建议你回头再看一 遍。 讲完了概念,进入正题: 我们要做的,正是读取 windows 自带的经典游戏《扫雷》中的“雷”所在的位置,旨在用代码描述内存插件的使用 方法。我始终坚信,代码是最好的老师,比任何教程都强。所以我直接给出注释全面的代码,以供分析。 //********************************** //* 以下例子只支持 xp 操作系统中扫雷 * //********************************** // //hwnd 中保存扫雷游戏的窗体句柄 Dim hwnd //查找《扫雷》的窗体句柄 Plugin hwnd=Window.Find(&扫雷&,&扫雷&) If hwnd=0 MessageBox &扫雷游戏没有打开哟!& EndScript EndIf //x, y 中分别保存当前扫雷的长与宽的格子数量 Dim x, y Plugin x=Memory.Read32Bit(hwnd,&h1005334) Plugin y=Memory.Read32Bit(hwnd,&h1005338) //建个双重循环,循环所有格子,这里用 VBScript 的循环会很方便,所以加入 vbsbegin 块 Import Memory.dll VBSBegin Dim i, j, value, strview strview=&说明:@代表安全,*代表雷& & vbcrlf For i=0 to x-1 For j=0 to y-1 value=Memory.Read8Bit(hwnd,&h1005360+(j+i*32+1)) '注意:VBSBegin 中的注释是“'” '//8A=显示出的雷 '//8F=未显示出的雷 If value=&h8A& or value=&h8F& then strview=strview & & *& Else strview=strview & & @& End If Next strview=strview & vbcrlf Next MessageBox strview VBSEnd 相信大家都可以通过插件的函数名称判断函数的作用,以上代码很简单,我不做过多讲解了哈 下部分,轮到 windows 插件,我会详细讲解“窗体位置”的概念按键插件《扫雷》系列二【窗口位置】按照惯例,首先介绍下“窗口坐标系”、“窗口工作区”和“窗口客户区”的概念,最后给出自动扫雷脚本。 “窗口坐标系”是我自创的描述词,术语叫什么我还真不清楚。这个概念很容易理解,我们都知道桌面分辨率,分 辨率越高,显示的 桌面内容就越多。我们也知道,窗口是“摆放”在桌面上的,甚至可以超出桌面范围(比如随意把一个窗口拖到桌面之 外) 。而窗口坐标系就 是窗口摆放在桌面的位置。假设桌面是 1024× 768,那么桌面左上角坐标就是 0,0。桌面右下角坐标就是 1023× 767(因 为是从 0 开始) 。这样, 窗口所在桌面的坐标就是“窗口坐标系”了。 “窗体工作区”和“窗体客户区”,这两个词从字面上很难理解,微软的官方文档就是这么叫的。我用一张图来表示 工作区和客户区 有什么不同。 从上图可以看出,工作区包含了窗体的四条边框,上面的边框最宽,叫做标题栏,其他的边框只有窄窄的一条。 为什么要区分工作区 和客户区呢?大家会议下 XP 系统默认的标题栏高度和 98/2000 系统默认的标题栏高度就明白了。也就是说,我们编写 按键脚本的时候,直接从客 户区入手,这样就不用考虑标题栏高度和四条窗体边框的问题了。 下面的脚本例子,建议大家输出看看结果,对理解工作区和客户区有帮助: //************************** //*窗体工作区 与 窗体客户区* //************************** // //启动扫雷 VBSCall RunApp(&winmine.exe&) //等待扫雷启动完毕 Delay 500 dim hwnd Plugin hwnd=Window.Find(&扫雷&,&扫雷&) //移动扫雷窗口到 0,0 位置 Plugin Window.Move(hwnd,0,0) dim winrect, clirect //获得 windows 区域 Plugin winrect=Window.GetWindowRect(hwnd) //获得 client 区域 Plugin clirect=Window.GetClientRect(hwnd) MessageBox &窗体工作区:& & winrect & vbcrlf & &窗体客户区:& & clirect 明白了基本概念之后,下面给出扫雷脚本的鼠标控制例子: //********************************** //* 以下例子只支持 xp 操作系统中扫雷 * //********************************** // //hwnd 中保存扫雷游戏的窗体句柄 Dim hwnd //查找《扫雷》的窗体句柄 Plugin hwnd=Window.Find(&扫雷&,&扫雷&) If hwnd=0 MessageBox &扫雷游戏没有打开哟!& EndScript EndIf //获取扫雷窗口位置 dim cliectRect Plugin cliectRect=Window.GetClientRect(hwnd) //rx, ry 保存雷区左上角第一个雷的坐标 dim rx, ry //按“|”分割字符串 dim tmp tmp=split(cliectRect,&|&) //:是 VB 里的一种多行语句写成一行的用法,同样试用于按键脚本 rx=cint(tmp(0))+20 : ry=cint(tmp(1))+60 //x, y 中分别保存当前扫雷的长与宽的格子数量 Dim x, y Plugin x=Memory.Read32Bit(hwnd,&h1005334) Plugin y=Memory.Read32Bit(hwnd,&h1005338) //建个双重循环,循环所有格子,这里用 VB 的循环会很方便,所以加入 vbsbegin 块 Import Memory.dll VBSBegin Dim i, j, value For i=0 to x-1 For j=0 to y-1 value=Memory.Read8Bit(hwnd,&h1005360+(j+i*32+1)) '//F==非雷 If value&&&hF&then MoveTo rx+j*16,ry+i*16 Delay 100 RightClick 1 Delay 100 End If Next Next VBSEnd 如果上一章的内容弄懂了,这篇还是真容易理解的。 下章,准备说一下“消息循环”机制,和用消息控制扫雷按键插件《扫雷》系列二【窗口消息】新人总会在论坛里看到后台挂机,后台消息,到底消息是什么,为什么可以实现后台,是本章描述的重点。同样 最后会给出消息的扫 雷例子。 消息,在 windows 里占有至关重要的位置,可以说 windows 就是由消息驱动的。消息,顾名思义,就是通知、告 知某个窗体或某个控件 现在应该接到了什么命令。windows 的消息非常的多,有鼠标移动的,键盘按下弹起的,有窗口位置移动的,改变窗 体大小,最小化,最大化等 。可以说,所能看到的桌面窗体变化、鼠标键盘操控,最终体现在 windows 里的都是消息。 windows 掌管一个大的消息循环,为理解方面,我用一张草图描述这个流程: 由上图可知,消息最终发送到每个窗体,每个窗体接到这个消息命令后,怎么处理那都是各个窗体自己的活了。 但是前面的部分确是 由 windows 掌管的。 明确了以上的内容,大家应该知道为什么有些游戏用消息不好使,有些游戏游戏用消息好使了。如果游戏自己做 了某种判断,或者有 些反外挂的程序在运行(比如 NP) ,那么消息对其无效,可以简单理解,游戏对消息做了过滤(这么描述不准确,但 我们只要知道了这点,就 足够了,如想了解更多消息的内容,百度上有很多文章) 。所以,消息不是所有游戏都通用的。 接下来说另外一个概念,窗口的组成。我们可以看到一个窗口,并且拖拉,最小化它。但是这个窗口,不一定由 一个窗体组成。比如 IE 浏览器,IE 浏览器就好比一个房子,里面有很多房间,每个房间就是一个窗体,这些房间共同组成了房子。用过 VB 的朋友,应该很容易理解 。每拖的一个控件,都有独立的窗口句柄(句柄的概念在后面会讲到) ,只有 table 除外。只有游戏不同,一般的游戏, 通常只有一个窗体,因 为是 DX 成像,反到不需要这许多控件。什么是 DX 成像?就是用 DX 把要显示的画面,画到窗体上。 以上内容说的非常混乱,简单理解就是,普通应用程序有很多个窗口组成一个大的窗口。而游戏,一般只有一个 窗口。 这么多窗口,windows 怎么知道哪个是哪个呢?聪明的 windows 引入了“窗体句柄”的概念。一个窗口对应一个数 字,这个数字在文档 中就叫做句柄了。注意,没有一个句柄是相同的,好像门牌号一样,这样就可以顺利区分到底在给哪个窗口发送消息 了。还有一点也非常重要,这个句柄是 windows 随机分配的,有效期只在这个窗口销毁前。换句话说,窗口 A 只要存在,那么他的句柄就是固 定的,如果关闭、再启动窗 口 A,那么窗口 A 的句柄就会变化。假如连续启动了 3 个窗口 A,那么 3 个窗口 A 的句柄也不一样。 罗里八梭的说了这么多,也不知道大家是否有看明白。如果没看明白,就回头再看一遍,还看不明白,跟帖留言。 总结一下我前面所说的东西: 1、windows 掌管消息分发,发到窗口后,由窗口自行处理 2、一个窗口,可能由 1-N 个窗口组成 3、每个窗体句柄,标识一个窗体或控件 4、窗体句柄的生存周期,就是窗体的生存周期 5、同窗体每次启动,其句柄并不相同 我使用了 361 的后台消息插件,不多废话,直接上例子: //********************************** //* 以下例子只支持 xp 操作系统中扫雷 * //********************************** // //hwnd 中保存扫雷游戏的窗体句柄 Dim hwnd //查找《扫雷》的窗体句柄 Plugin hwnd=Window.Find(&扫雷&,&扫雷&) If hwnd=0 MessageBox &扫雷游戏没有打开哟!& EndScript EndIf //x, y 中分别保存当前扫雷的长与宽的格子数量 Dim x, y Plugin x=Memory.Read32Bit(hwnd,&h1005334) Plugin y=Memory.Read32Bit(hwnd,&h1005338) //建个双重循环,循环所有格子,这里用 VB 的循环会很方便,所以加入 vbsbegin 块 Import Memory.dll Import BGKM5.dll VBSBegin Dim i, j, value For i=0 to x-1 For j=0 to y-1 value=Memory.Read8Bit(hwnd,&h1005360+(j+i*32+1)) '//小于&h80 的,都不是雷 If value&&h80& then //这里的 20 和 60 大家体会一下,16 是雷格式的间距: ) BGKM5.LClick hwnd,20+j*16,60+i*16 Else BGKM5.RClick hwnd,20+j*16,60+i*16 End If Next Next VBSEnd 有没有发现代码居然比上一章的简单,没错,对消息来说,只需要知道给出这个控件偏移的 x,y 然后点击就可以 了。 最后说一下,扫雷只有一个窗口,而且带有游戏性,这也是为什么我拿扫雷做例子的原因: )网络游戏循环找图找坐标详细教程(供新手学习)拜读了 LZ 的贴以后深感 LZ 的无私奉献把这么核心的能发出来,我总结上贴把 LZ 的所发的精简写成源码发出来!图的部 分大家自己抓[General] Description=我的脚本 BeginHotkey=121 BeginHotkeyMod=0 PauseHotkey=0 PauseHotkeyMod=0 StopHotkey=123 StopHotkeyMod=0 RunOnce=1 EnableWindow= Enable=1 AutoRun=0 [Repeat] Type=0 Number=1 [Relative] SetupOCXFile= [Comment] Content=图片自己加好了[Script] VBS dim s(4),t, x1, y1 VBS s(0)=&0&:s(1)=&1&:s(2)=&2&:s(3)=&3&:s(4)=&k& VBS t=0 Rem 1 If t&4 Else VBSCall FindPic(0,0,650,502,&Attachment:\&&s(t)&&.bmp&,0.8,x1,y1) If x1&0 and y1&0 Else [url=file://\\MessageBox]\\MessageBox[/url] t VBS t=t+1 Goto 1 EndIf EndIf 《蜀门》辅助脚本源码//现在发一个目前很红的游戏《蜀门》辅助脚本源码,纯颜色版无封号危险,功能很简单,不过简单游上跟这个差不多 的也要 5 块一星期。 //使用时到按键精灵官方网下载个按键精灵安装,打开,新建个脚本,选源文件,把源码帖在里面就好了。在右边下方 有设置选项。 Delay 64 Plugin ckjb=Window.Foreground() Plugin ckbk=Window.GetWindowRect(ckjb) VBS ckbka=split(ckbk,&|&) bkx1=ckbka(0): bky1=ckbka(1): bkx2=ckbka(2): bky2=ckbka(3) Delay 64 VBS xxts=&脚本初始化,请稍后............................................................& Gosub 写信息 Delay 256 UserVar Hong=50 补血百分比 UserVar lan=50 补蓝百分比 UserVar DZ=DropList{打坐:0|吃药:1}=0 低血选项 UserVar ADZ=6 打坐按键(0--9) VBS ADZ=ADZ+48 UserVar HP=4 加血按键(0--9) VBS HP=HP+48 UserVar MP=5 加蓝按键(0--9) VBS MP=MP+48 UserVar JN=1 技能按键(0--9) VBS JN=JN+48 UserVar wpgq=20e72e 怪物光圈颜色(找物品用,光圈特征色) UserVar nzsz=DropList{随机选择:0|手动选择:1}=0 验证码处理方法 Delay 256 VBSCall FindColorEx(bkx1,bky1+32,bkx1+100,bky1+100,&0300df&,0,0.9,hprX,hprY) VBS hppx=Cint(hprx+hong*1.56): mppx=Cint(hprx+lan*1.56) Delay 256 Gosub HPMP Delay 64 Rem 开始主程序 Delay 100 VBSCall FindColorEx(hprX+280,hprY-4,hprX+283,hprY+4,&0300df&,0,0.8,intX,intY) Delay 16 If intX&0 VBS xxx=1 VBS xxts=&锁定怪物,开始攻击......................................................................................& Gosub 写信息 Delay 100 KeyPress JN,1 Delay 1000 Else Gosub 捡查验证 Delay 32 Gosub 找物 Delay 32 Gosub HPMP Delay 32 VBS xxx=0 KeyPress 9,1 Delay 128 EndIf Delay 64 Goto 开始主程序 Sub 打坐 Delay 1000 Rem g VBSCall FindColorEx(hprx+154,hpry,hprx+156,hpry+18,&0100df&,0,0.8,hpuX,hpuY) Delay 16 VBSCall FindColorEx(hprx+154,hpry,hprx+156,hpry+18,&e0.8,hptX,hptY) Delay 16 If hpuX&0 and hptx&0 Delay 200 Goto r Else Delay 800 Goto g EndIf EndIf Rem r Return 打坐 Sub 找物 VBS dim jwx(5), jwy(5) Delay 64 For 2 VBSCall FindColorEx(bkx1+100,bky1+100,bkx2-100,bky2-100,wpgq,0,0.6,WX,WY) Delay 64 EndFor If WX&0 VBS jwx(0)=0: jwy(0)=0: jwx(1)=30: jwy(1)=0: jwx(2)=-30: jwy(2)=5: jwx(3)=0: jwy(3)=30: jwx(4)=0: jwy(4)=-30 VBS cci=0 For 5 Delay 64 MoveTo jwx(cci)+WX,jwy(cci)+WY Delay 32 VBSCall vas=GetCursorShape(0) Delay 32 If vas= VBS xxts=&发现物品.....................................................................................& Gosub 写信息 Delay 64 RightDown 1 Delay 16 RightUp 1 Delay 64 Goto 捡 EndIf VBS cci=cci+1 EndFor EndIf Rem 捡 Delay 512 Plugin XY = Color.FindShape(bkx1+300,bky1+300,bkx2-200,bky2-200, &-5|0|0,-3|0|0,-1|0|0,1|0|0,3|0|0,5|0|0,7|0|0,9|0|0,11|0|0,13|0|0,15|0|0,17|0|0,19|0|0,21|0|1,23|0|0,25|0|0,27|0|0,29|0|0,31|0|1,33|0|1,3 5|0|1,37|0|0,39|0|0,41|0|0,43|0|0,-5|2|0,-3|2|0,-1|2|0,1|2|0,3|2|0,5|2|0,7|2|0,9|2|0,11|2|0,13|2|0,15|2|0,17|2|1,19|2|1,21|2|1,23|2|0,25|2 |1,27|2|1,29|2|0,31|2|0,33|2|0,35|2|1,37|2|1,39|2|0,41|2|0,43|2|0,-5|4|1,-3|4|0,-1|4|1,1|4|1,3|4|0,5|4|1,7|4|1,9|4|1,11|4|1,13|4|1,15|4|0, 17|4|0,19|4|0,21|4|1,23|4|1,25|4|1,27|4|1,29|4|1,31|4|0,33|4|0,35|4|1,37|4|1,39|4|0,41|4|0,43|4|0,-5|6|0,-3|6|0,-1|6|0,1|6|0,3|6|0,5|6|0, 7|6|0,9|6|1,11|6|1,13|6|0,15|6|0,17|6|1,19|6|1,21|6|1,23|6|0,25|6|1,27|6|1,29|6|0,31|6|0,33|6|0,35|6|1,37|6|1,39|6|1,41|6|0,43|6|0,-5|8| 0,-3|8|0,-1|8|0,1|8|0,3|8|0,5|8|0,7|8|0,9|8|0,11|8|0,13|8|0,15|8|1,17|8|1,19|8|0,21|8|1,23|8|0,25|8|0,27|8|0,17|10|0,19|10|1,21|10|1,23| 10|0,25|10|1,27|10|1,29|10|0,31|10|0,33|10|0,35|10|1,37|10|0,39|10|0,41|10|1,43|10|0&, 1) MyArray = Split(XY, &|&) OKX = Clng(MyArray(0)): OKY = Clng(MyArray(1)) Delay 64 If OKX&0 Delay 64 MoveTo OKX,OKY Delay 64 LeftClick 1 EndIf Delay 64 Return 找物 Sub HPMP VBSCall FindColorEx(hppx,hpry,hppx+1,hpry+8,&01006e&,0,0.7,hpcX,hpcY) If hpcX&0 Delay 128 Else If DZ=0 VBS xxts=&血太少,打坐吧..........................................................................................................& Gosub 写信息 Delay 512 KeyPress ADZ,1 Gosub 打坐 Else KeyPress HP,1 Delay 128 EndIf EndIf VBSCall FindColorEx(hppx,hpry+10,hppx+1,hpry+18,&6d.7,mpcX,mpcY) If mpcX&0 Delay 128 Else If DZ=0 VBS xxts=&蓝太少,打坐......................................................................................................& Gosub 写信息 Delay 512 KeyPress ADZ,1 Gosub 打坐 Else KeyPress MP,1 Delay 128 EndIf EndIf Return HPMP Sub 写信息 Delay 64 Plugin Msg.ShowScrTXT(bkx1+300,bky1+4,bkx1+800,bky1+22,xxts,&0000ff&) Delay 64 Return 写信息 Sub 移动一下 MoveTo (bkx2-bkx1)/2+100,(bky2-bky1)/2+100 Delay 128 LeftClick 1 Delay 128 Return 移动一下 Sub 捡查验证 Delay 16 Plugin XY = Color.FindShape(bkx1, bky1+150, bkx2, bky2-150, &0|0|1,2|0|1,4|0|1,6|0|1,8|0|1,10|0|0,12|0|0,14|0|0,16|0|1,18|0|0,20|0|0,22|0|0,24|0|0,26|0|0,28|0|0,30|0|1,32|0|0,34|0|0,36|0|0,38|0|1, 40|0|1,42|0|1,44|0|0,0|2|1,2|2|1,4|2|1,6|2|1,8|2|0,10|2|0,12|2|1,14|2|1,16|2|1,18|2|1,20|2|1,22|2|0,24|2|0,26|2|1,28|2|1,30|2|0,32|2|0,3 4|2|0,36|2|0,38|2|1,40|2|0,42|2|1,44|2|0,0|4|1,2|4|0,4|4|1,6|4|0,8|4|0,10|4|0,12|4|1,14|4|0,16|4|1,18|4|0,20|4|1,22|4|0,24|4|0,26|4|0,28| 4|1,30|4|0,32|4|1,34|4|0,36|4|0,38|4|1,40|4|0,42|4|1,44|4|0,0|6|1,2|6|1,4|6|1,6|6|1,8|6|0,10|6|0,12|6|1,14|6|1,16|6|1,18|6|1,20|6|1,22|6| 0,24|6|1,26|6|0,28|6|1,30|6|0,32|6|0,34|6|0,36|6|0,38|6|1,40|6|0,42|6|1,44|6|0,0|8|1,2|8|0,4|8|1,6|8|0,8|8|0,10|8|0,12|8|0,14|8|0,16|8|1, 18|8|0,20|8|0,22|8|0,24|8|0,26|8|1,28|8|1,30|8|0,32|8|0,34|8|0,36|8|0,38|8|0,40|8|0,42|8|1,44|8|0,0|10|1,2|10|1,4|10|1,6|10|1,8|10|1,1 0|10|0,12|10|0,14|10|0,16|10|1,18|10|0,20|10|0,22|10|0,24|10|1,26|10|0,28|10|1,30|10|0,32|10|0,34|10|0,36|10|0,38|10|0,40|10|0,42| 10|1,44|10|1&, 1) VBS ccca = Split(XY, &|&) VBS nzco = Clng(ccca(0)): nzcv = Clng(ccca(1)) Delay 16 If nzco&0 If nzsz=0 VBS xxts=&出现验证码,你定义了随机选择,选择失败请等 10 分钟....................................& Gosub 写信息 Delay 16 Gosub 随机选择 ElseIf nzsz=1 VBS xxts=&出现验证码,你定义了手动处理,15 秒后按任意键继续........................& Gosub 写信息 Delay 16 For 7 KeyPress JN,1 Delay 1000 KeyPress JN,1 Delay 1000 EndFor WaitKey EndIf EndIf Return 捡查验证 Sub 随机选择 Delay 32 Randomize VBS szmjg = Int((999 * Rnd) + 1) Delay 32 Plugin XY = Color.FindShape(bkx1, bky1+150, bkx2, bky2-150, &0|0|1,2|0|1,4|0|1,6|0|1,8|0|1,10|0|0,12|0|0,14|0|0,16|0|1,18|0|0,20|0|0,22|0|0,24|0|0,26|0|0,28|0|0,30|0|1,32|0|0,34|0|0,36|0|0,38|0|1, 40|0|1,42|0|1,44|0|0,0|2|1,2|2|1,4|2|1,6|2|1,8|2|0,10|2|0,12|2|1,14|2|1,16|2|1,18|2|1,20|2|1,22|2|0,24|2|0,26|2|1,28|2|1,30|2|0,32|2|0,3 4|2|0,36|2|0,38|2|1,40|2|0,42|2|1,44|2|0,0|4|1,2|4|0,4|4|1,6|4|0,8|4|0,10|4|0,12|4|1,14|4|0,16|4|1,18|4|0,20|4|1,22|4|0,24|4|0,26|4|0,28| 4|1,30|4|0,32|4|1,34|4|0,36|4|0,38|4|1,40|4|0,42|4|1,44|4|0,0|6|1,2|6|1,4|6|1,6|6|1,8|6|0,10|6|0,12|6|1,14|6|1,16|6|1,18|6|1,20|6|1,22|6| 0,24|6|1,26|6|0,28|6|1,30|6|0,32|6|0,34|6|0,36|6|0,38|6|1,40|6|0,42|6|1,44|6|0,0|8|1,2|8|0,4|8|1,6|8|0,8|8|0,10|8|0,12|8|0,14|8|0,16|8|1, 18|8|0,20|8|0,22|8|0,24|8|0,26|8|1,28|8|1,30|8|0,32|8|0,34|8|0,36|8|0,38|8|0,40|8|0,42|8|1,44|8|0,0|10|1,2|10|1,4|10|1,6|10|1,8|10|1,1 0|10|0,12|10|0,14|10|0,16|10|1,18|10|0,20|10|0,22|10|0,24|10|1,26|10|0,28|10|1,30|10|0,32|10|0,34|10|0,36|10|0,38|10|0,40|10|0,42| 10|1,44|10|1&, 1) VBS MyArray = Split(XY, &|&) VBS Xznm = Clng(MyArray(0)): Yznm = Clng(MyArray(1)) Delay 32 If Xznm&0 If szmjg&0 and szmjg&250 VBS abcx=Xznm+10: abcy=Yznm+75 ElseIf szmjg&=250 and szmjg&500 VBS abcx=Xznm+10: abcy=Yznm+101 ElseIf szmjg&=500 and szmjg&750 VBS abcx=Xznm+10: abcy=Yznm+127 ElseIf szmjg&750 VBS abcx=Xznm+10: Yznm+153 EndIf Delay 256 MoveTo abcx,abcy Delay 32 LeftClick 1 Delay 256 MoveTo Xznm+154,Yznm+180 Delay 32 LeftClick 1 Delay 512 Plugin XY = Color.FindShape(bkx1, bky1+100, bkx2, bky2-100, &0|0|1,2|0|1,4|0|1,6|0|1,8|0|1,10|0|0,12|0|0,14|0|0,16|0|1,18|0|0,20|0|0,22|0|0,24|0|1,26|0|1,28|0|1,30|0|1,32|0|0,34|0|0,36|0|0,38|0|0, 40|0|1,42|0|0,44|0|1,46|0|0,48|0|1,50|0|0,52|0|0,54|0|0,56|0|1,58|0|0,60|0|1,62|0|0,64|0|0,66|0|0,68|0|0,70|0|0,72|0|0,74|0|0,76|0|0,7 8|0|0,80|0|0,82|0|0,84|0|0,86|0|0,88|0|1,90|0|1,92|0|1,0|2|1,2|2|0,4|2|1,6|2|0,8|2|1,10|2|0,12|2|0,14|2|0,16|2|1,18|2|0,20|2|0,22|2|0,24| 2|1,26|2|1,28|2|0,30|2|1,32|2|0,34|2|0,36|2|0,38|2|1,40|2|1,42|2|1,44|2|0,46|2|0,48|2|1,50|2|1,52|2|0,54|2|1,56|2|1,58|2|0,60|2|0,62|2| 0,64|2|0,66|2|0,68|2|0,70|2|0,72|2|1,74|2|0,76|2|0,78|2|0,80|2|0,82|2|0,84|2|1,86|2|0,88|2|1,90|2|1,92|2|1,0|4|1,2|4|0,4|4|1,6|4|0,8|4|1, 10|4|0,12|4|0,14|4|0,16|4|1,18|4|0,20|4|0,22|4|0,24|4|1,26|4|1,28|4|0,30|4|1,32|4|0,34|4|0,36|4|0,38|4|1,40|4|1,42|4|1,44|4|0,46|4|0,4 8|4|1,50|4|1,52|4|1,54|4|1,56|4|1,58|4|0,60|4|1,62|4|1,64|4|0,66|4|0,68|4|0,70|4|0,72|4|1,74|4|0,76|4|1,78|4|0,80|4|1,82|4|0,84|4|1,86| 4|1,88|4|1,90|4|1,92|4|1,0|6|1,2|6|0,4|6|1,6|6|0,8|6|1,10|6|0,12|6|0,14|6|0,16|6|1,18|6|0,20|6|0,22|6|0,24|6|1,26|6|1,28|6|1,30|6|1,32|6| 1,34|6|0,36|6|0,38|6|0,40|6|0,42|6|0,44|6|0,46|6|0,48|6|1,50|6|0,52|6|0,54|6|0,56|6|1,58|6|0,60|6|0,62|6|1,64|6|0,66|6|0,68|6|0,70|6|0, 72|6|1,74|6|0,76|6|1,78|6|0,80|6|1,82|6|0,84|6|1,86|6|0,88|6|1,90|6|0,92|6|1&, 1) VBS MyArray = Split(XY, &|&) VBS BBX = Clng(MyArray(0)): BBY = Clng(MyArray(1)) Delay 32 If BBX&0 xxts=&验证码选择失败,等待 10 分钟.....................................................& Gosub 写信息 Delay 128 Gosub 等待 EndIf EndIf Return 随机选择 Sub 等待 VBS tt4=now Rem ddsj If datediff(&s&,tt4,now)&=600 Delay 512 Goto ddw Else Delay 512 Gosub HPMP Delay 128 Goto ddsj EndIf Rem ddw Return 等待 学习网络游戏找 怪 的思路方法(按键精灵脚本技术)很多朋友都不知道如何在游戏中用按键精灵 找怪物 请看下面哦 对一些找怪的思路小有体会。简单来说找怪就是找怪与背景不同的独有的特征,可以通过找怪的颜色/图片、怪名字颜色/图片、怪血条颜 色/图片、渐开线扫描、小地图找怪等等的方法来实现。具体看游戏而定,下面就介绍几种找怪的方法: 1。区域找色 应该说是最简单的找怪方法了,在区域里查找怪的特有颜色、名字颜色、血条颜色、怪的阴影等等。如果找到移动鼠标到怪 身上进行攻击 (推荐用区域模糊找色或从区域中间向外找色)。 例子(区域模糊找色):VBSCall FindColorEx(0,0,,\&FFFFFF\&,1,0.8,x,y) //区域模糊找色,0,0, 为区域范围,\&FFFFFF\&为颜色,1 为查找方式(中间向外),0.8 为模糊值,x,y 为找色后储存坐标的变量 If x&=0 and y&=0 //如果找到颜色(通过判断坐标变量是否在区域内就可以知道有没有找到目标) MoveTo x y //把鼠标移动到该色的坐标(如果找的是怪名字或血条,可能移动不到怪身上,这时就要用鼠标偏移如:MoveTo x+10 y+10) Delay 50 //延时 LeftClick 1 //左键单击进行攻击 EndIf //条件结束 用数组区域查找多色:点击查看 注: ①。区域范围的定位: 区域范围指的是被搜索区域的范围,这 4 个参数分别指的是区域的左,上,右,下。简单的说就是取区域的左上角 x,y 坐标和右下角的 x,y 坐 标,把这 4 个数值依次组合起来就是一个区域范围了。 ②。很多朋友对最后两个坐标变量 x,y 不太了解,在这里通俗的解释一下: 顾名思义,这两个变量是用来贮存找色或找图后的坐标。当找到目标后,把目标所在的坐标位置贮存到这两个变量里,然后可以通过判断 这两个坐标变量是否在区域范围内来确定是否找到了目标。如果找到目标,贮存的是目标所在的坐标位置。如果没有找到,那贮存的则是 -1,所以我们也可以通过 if x=-1 and y=-1 来判断没有找到目标。 2。区域找图 在区域里查找怪的图形、怪的名字图片、血条图片等等。语法与区域找色相似,需要注意的是图片的处理,这里有两个教程 可以参考一下 教程①,教程②。 图片做好后可以放在按键文件夹里的 script 文件夹中,就可以不用在脚本里写图片路径,只需图片名就行了,写脚本的时候比较方便。 例子(区域找图):VBSCall FindPic(0,0,,\&1.bmp\&,0.9,x,y) //区域找图,0,0, 为区域范围,\&1.bmp\&为图片名(路径),0.9 为找图的相似度,x,y 为找图后储存坐标的变量 If x&=0 and y&=0 //如果坐标在区域内(找到图片) MoveTo x y //移动到图片位置(图片左上角) Delay 50 //延时 LeftClick 1 //左键单击 EndIf //条件结束3。圆形渐开线扫描找怪法 效率较低,这里有个较完整的例子可以参考一下4。圆形渐开线扫描找变色怪 效率较低,下面是我以前收集的一个找变色怪的例子。 VBS dim x0,n,y0,x,color0,color //声明变量 Rem start //标记渐开线找怪开始 VBS x0=400:n=1:y0=300:x=400 //变量初始化 While x&800 //限定横坐标范围不超过 800 VBS x=x0+4*(cos(n)+n*sin(n)) //根据渐开线公式计算下一个点的横坐标并赋值给 x VBS y=y0+3*(sin(n)-n*cos(n)) //根据渐开线公式计算下一个点的纵坐标并赋值给 y VBSCall color0=GetPixelColor(x,y) //在鼠标移动之前,获取目标点色值并赋值给 color0 VBSCall Call SetCursorPos(x,y) //马上移动鼠标到目标点 VBSCall color=GetPixelColor(x,y) //获取鼠标移动后该点色值并赋值给 color If color&&color0 //同一点取得的两次色值比较,不同,则执行以下的打怪脚本 LeftClick 1 //左键单击 Delay 3000 //打怪延时 EndIf //该点判断结束 Delay 10 //循环延时 VBS n=n+0.2 //渐开线参数增量,其中 0.2 代表点间距,数值越小,渐开线散开点间距越小 EndFor //一次渐开线取点判断结束 Goto start //跳转到开始,重复渐开线搜索 5。小地图找怪 公式:大地图怪坐标 = (小地图怪坐标 - 小地图人物坐标) * 比例 + 大地图人物坐标 比例是(大地图怪坐标和大地图人物坐标之间的距离)与(小地图怪坐标和小地图人物坐标之间的距离)这两者的比例。如下图 A 线与 B 线的比例。用小地图找怪所需的计算数据必须比较准确。 然后用区域找色查找小地图上怪的小点(最好用从区域中心向外找色),找到怪的小点后再计算坐标,计算得出大地图坐标后,移动鼠标 到怪身上打怪。 下载 (340.32 KB) 18:34 例子(小地图找怪):VBSCall FindCenterColor(858,66,996,192,\&0000FF\&,x,y) //区域从中间向外找色,858,66,996,192 是小地图的区域范围 If x&=0 and y&=0 //如果找到颜色 x0=(x-926)*10+512 y0=(y-129)*10+389 //计算大地图怪的坐标 MoveTo x0 y0 //移动到大地图怪的坐标 Delay 50 //延时 LeftClick 1 //左键单击进行攻击 EndIf //条件结束特别注意:移动到怪位置后用“鼠标特征码比对”可有效提高找怪的准确性。(可用于所有找怪方式内) 我暂时就写这几个了,当然找怪的方法不止这几种而已,欢迎大家一起来独立团讨论与分享~!一、 键盘命令(2~5 页) 二、鼠标命令(5~13 页) 三、控制命令(13~22 页) 四、颜色/图像命令(22~28 页) 五、其他命令(28~355 页)五、网游脚本实例(35~最后) 一、 键盘命令命令名称: 命令功能: 命令参数: 返 回 值: 脚本例子: (8.x 语法)G e t L a s t Ke y 检 测 上 次 按 键检测上次按键 参数 1 整数型,可选:变量名 无 复制代码 6. 7. 8. 9. //脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次按下的按键码保存在变量 Key 里。 Key=GetLastKey() If Key = 13 Then Msgbox &你上次按下了回车键&10. End If脚本例子: (7.x 语法)复制代码 6. 7. 8. 9. //脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次按下的按键码保存在变量 Key 里。 GetLastKey Key If Key = 13 Msgbox &你上次按下了回车键&10. EndIf命令名称: 命令功能: 命令参数:K e yD o w n 按 住键盘按住 参数 1 整数型,键

我要回帖

更多关于 按键精灵函数大全 的文章

 

随机推荐