游戏辅助教程:按键精灵给源代码加密
按键精灵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亮点多多,这⾥分四⽅⾯简要说明⼀下: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 ,⼤部分软件可以引⽤使⽤。
按键精灵脚本制作教程(全)
按键精灵脚本制作教程(全)一、前言所谓游戏外挂,其实是一种游戏外辅程序,它可以协助玩家自动产生游戏动作、修改游戏网络数据包以及修改游戏内存数据等,以实现玩家用最少的时间和金钱去完成功力升级和过关斩将。
虽然,现在对游戏外挂程序的“合法”身份众说纷纭,在这里我不想对此发表任何个人意见,让时间去说明一切吧。
不管游戏外挂程序是不是“合法”身份,但是它却是具有一定的技术含量的,在这些小小程序中使用了许多高端技术,如拦截Sock技术、拦截API技术、模拟键盘与鼠标技术、直接修改程序内存技术等等。
本文将对常见的游戏外挂中使用的技术进行全面剖析。
二、认识外挂游戏外挂的历史可以追溯到单机版游戏时代,只不过当时它使用了另一个更通俗易懂的名字??游戏修改器。
它可以在游戏中追踪锁定游戏主人公的各项能力数值。
这样玩家在游戏中可以达到主角不掉血、不耗费魔法、不消耗金钱等目的。
这样降低了游戏的难度,使得玩家更容易通关。
随着网络游戏的时代的来临,游戏外挂在原有的功能之上进行了新的发展,它变得更加多种多样,功能更加强大,*作更加简单,以至有些游戏的外挂已经成为一个体系,比如《石器时代》,外挂品种达到了几十种,自动战斗、自动行走、自动练级、自动补血、加速、不遇敌、原地遇敌、快速增加经验值、按键精灵……几乎无所不包。
游戏外挂的设计主要是针对于某个游戏开发的,我们可以根据它针对的游戏的类型可大致可将外挂分为两种大类。
一类是将游戏中大量繁琐和无聊的攻击动作使用外挂自动完成,以帮助玩家轻松搞定攻击对象并可以快速的增加玩家的经验值。
比如在《龙族》中有一种工作的设定,玩家的工作等级越高,就可以驾驭越好的装备。
但是增加工作等级却不是一件有趣的事情,毋宁说是重复枯燥的机械劳动。
如果你想做法师用的杖,首先需要做基本工作--?砍树。
砍树的方法很简单,在一棵大树前不停的点鼠标就可以了,每10000的经验升一级。
这就意味着玩家要在大树前不停的点击鼠标,这种无聊的事情通过"按键精灵"就可以解决。
按键精灵默认插件命令大全
目录插件命令面板 - BKgnd后台控制6 KeyPress 按键6KeyDown 按下6KeyUp 弹起7LeftClick 左键单击8 LeftDoubleClick 左键双击8 LeftDown 左键按下9LeftUp 左键弹起9RightClick 右键单击10RightDown 右键按下10RightUp 右键弹起11MiddleClick 中键单击11SendString 发送字符串12MoveTo 鼠标移动13GetPixelColor 得到指定点颜色13 FindColor 区域找色14FindColorEx 模糊找色15 FindCenterColor 中心找色15插件命令面板 - Color颜色16 ColorToRGB 颜色转RGB16GetRGB 得到RGB分量合并值17 ColorToHSL 颜色转HSL18CountColor 区域搜索颜色数量18 FindMutiColor 区域多点找色19 FindShape 区域多点找形状20插件命令面板 - Console控制台20 Open 打开21Close 关闭22ReadLine 读取一行22WriteLine 写入一行22WaitKey 等待按键23插件命令面板 - Encrypt加解密23Md5String 字符串MD5加密23Md5File 文件MD5加密23插件命令面板 - File文件24CloseFile 关闭文件24CopyFile 复制文件24CreateFolder 创建文件夹25DeleteFile 删除文件25DeleteFolder 删除文件夹25ExistFile 判断文件(旧)26GetFileLength 得到文件长度26IsFileExit 判断文件27MoveFile 移动文件27OpenFile 打开文件28ReadFile 读取文件28ReadFileEx 读取文件29ReadINI 读取键值29ReadLine 读取一行30ReNameFile 重命名文件30SeekFile 设置文件的当前读写位置31 SelectDirectory 弹出选择文件夹对话框31 SelectFile 弹出选择文件对话框32 SetAttrib 设置文件属性32SetDate 设置文件日期时间33WriteFile 写入文件33WriteFileEx 写入文件34WriteINI 写入键值34WriteLine 写入一行35插件命令面板 - Media多媒体35Beep 蜂鸣器35Play 播放36Stop 停止36Vol 音量37Memory内存/进程37Find16Bit 搜索16位数值37Find32Bit 搜索32位数值38Find8Bit 搜索8位数值38 FindBinary 搜索二进制数据39 FindBinary 搜索二进制数据39 FindString 搜索字符串40 GetProcessLive 获得进程优先级41 Read16Bit 读取16位数值41Read16Bit 读取16位数值42Read32Bit 读取32位数值42Read8Bit 读取8位数值43 ReadBinary 读取二进制数据43 ReadDouble 读取64位浮点数值44 ReadSingle 读取32位浮点数值44 ReadString 读取字符串44 SetProcessLive 设置进程优先级45 TerminateProc 终止进程45插件命令面板 - Net网络46DialUp 拨号46HangUp 断开47IsOnline 判断在线47插件命令面板 - Office办公文档48 ReadXls 读出Excel单元格48 WriteXls 写入Excel单元格48插件命令面板 - Pic图像48 PrintScreen 屏幕截图48插件命令面板 - Sys系统49ExitOS 系统关机49GetCLB 获得剪切板内容49GetDir 获得路径50GetHDDSN 得到硬盘序列号50GetOSType 获得系统类型51GetScDep 获得屏幕颜色质量52GetScRX 获得屏幕宽度52GetScRY 获得屏幕高度53GetTime 取得毫秒数53SetCLB 设置剪切板内容54SetSc 设置屏幕分辨率54插件命令面板 - Web网页55ClearCookie 删除Cookie55ClearHistory 去除历史记录55ClearTemp 删除临时文件56插件命令面板 - Window窗口56Active 激活56Close 关闭57Find 查找窗口57FindEx 查找子窗口58Foreground 当前窗口59GetClass 得到窗口类名59GetClientRect 窗口客户区大小60GetExePath 得到窗口程序路径61 GetKeyFocusWnd 得到可以发送按键消息的窗口61 GetText 得到窗口标题62GetWindowRect 窗口边框大小63Hide 隐藏64IsWindow 判断窗口64Max 最大化65Min 最小化65MousePoint 鼠标指向窗口66Move 移动66Restore 复原67Search 遍历符合窗口67 SendKeyDown 按下68 SendKeyPress 按键68 SendKeyUp 弹起69SendString 发送字符串70 Show 显示70Size 改变大小71Top 窗口置前71插件命令面板 - Msg信息提示72 HideScrTXT 屏幕刷新72 ShowScrTXT 屏幕输出72插件命令面板 - BKgnd后台控制命令参数:参数1 整数型,窗口句柄参数2 整数型,键盘扫描码返回值:无脚本例子:按键精灵8与以上语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)发送一个键盘(扫描码:66)按下2.Call Plugin.Bkgnd.KeyDown(Hwnd, 66)3.Msgbox "在后台窗口输入B键"脚本例子:按键精灵7与以下语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)发送一个键盘(扫描码:66)按下2.Plugin Bkgnd.KeyDown(Hwnd, 66)3.Msgbox "在后台窗口输入B键"命令名称:KeyUp 弹起命令功能:向后台窗口句柄发送一个键盘弹起命令参数:参数1 整数型,窗口句柄参数2 整数型,键盘扫描码返回值:无脚本例子:按键精灵8与以上语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)发送一个键盘(扫描码:65)弹起2.Call Plugin.Bkgnd.KeyUp(Hwnd, 65)3.Msgbox "在后台窗口弹起B键"脚本例子:按键精灵7与以下语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)发送一个键盘(扫描码:65)弹起2.Plugin Bkgnd.KeyUp(Hwnd, 65)3.Msgbox "在后台窗口弹起B键"名称:LeftClick 左键单击命令功能:向后台窗口句柄送一个鼠标左键单击命令参数:参数1 整数型,窗口句柄参数2 整数型,窗口X坐标参数3 整数型,窗口Y坐标返回值:无脚本例子:按键精灵8与以上语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:5, 5)处发送一个鼠标左键单击2.Call Plugin.Bkgnd.LeftClick(Hwnd, 5, 5)3.Msgbox "鼠标在后台窗口(坐标:5, 5)处的单击"脚本例子:按键精灵7与以下语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:5, 5)处发送一个鼠标左键单击2.Plugin Bkgnd.LeftClick(Hwnd, 5, 5)3.Msgbox "鼠标在后台窗口(坐标:5, 5)处的单击"命令名称:LeftDoubleClick 左键双击命令功能:向后台窗口句柄发送一个鼠标左键双击命令参数:参数1 整数型,窗口句柄参数2 整数型,窗口X坐标参数3 整数型,窗口Y坐标返回值:无脚本例子:按键精灵8与以上语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:10, 10)处发送一个鼠标左键双击2.Call Plugin.Bkgnd.LeftDoubleClick(Hwnd, 10, 10)3.Msgbox "鼠标在后台窗口(坐标:10, 10)处的双击"脚本例子:复制代码精灵7与以下语法1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:10, 10)处发送一个鼠标左键双击2.Plugin Bkgnd.LeftDoubleClick(Hwnd, 10, 10)3.Msgbox "鼠标在后台窗口(坐标:10, 10)处的双击"命令名称:LeftDown 左键按下命令功能:向后台窗口句柄发送一个鼠标左键按下命令参数:参数1 整数型,窗口句柄参数2 整数型,窗口X坐标参数3 整数型,窗口Y坐标返回值:无脚本例子:按键精灵8与以上语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:10, 10)处发送一个鼠标左键按下2.Call Plugin.Bkgnd.LeftDown(Hwnd, 10, 10)脚本例子:按键精灵7与以下语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:10, 10)处发送一个鼠标左键按下2.Plugin Bkgnd.LeftDown(Hwnd, 10, 10)命令名称:LeftUp 左键弹起命令功能:向后台窗口句柄发送一个鼠标左键弹起命令参数:参数1 整数型,窗口句柄参数2 整数型,窗口X坐标参数3 整数型,窗口Y坐标返回值:无脚本例子:按键精灵8复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:10, 10)处发送一个鼠标左键弹起与以上语法2.Call Plugin.Bkgnd.LeftUp(Hwnd, 10, 10) 脚本例子:按键精灵7与以下语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:10, 10)处发送一个鼠标左键弹起2.Plugin Bkgnd.LeftUp(Hwnd, 10, 10)命令名称:RightClick 右键单击命令功能:向后台窗口句柄发送一个鼠标右键单击命令参数:参数1 整数型,窗口句柄参数2 整数型,窗口X坐标参数3 整数型,窗口Y坐标返回值:无脚本例子:按键精灵8与以上语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:0, 0)处发送一个鼠标右键单击2.Call Plugin.Bkgnd.RightClick(Hwnd, 0, 0)3.Msgbox "鼠标在后台窗口(坐标:0, 0)处的右击"脚本例子:按键精灵7与以下语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:0, 0)处发送一个鼠标右键单击2.Plugin Bkgnd.RightClick(Hwnd, 0, 0)3.Msgbox "鼠标在后台窗口(坐标:0, 0)处的右击"命令名称:RightDown 右键按下命令功能:向后台窗口句柄发送一个鼠标右键按下命令参数:参数1 整数型,窗口句柄参数2 整数型,窗口X坐标参数3 整数型,窗口Y坐标返回无脚本例子:按键精灵8与以上语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:10, 10)处发送一个鼠标右键按下2.Call Plugin.Bkgnd.RightDown(Hwnd, 10, 10)脚本例子:按键精灵7与以下语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:10, 10)处发送一个鼠标右键按下2.Plugin Bkgnd.RightDown(Hwnd, 10, 10)命令名称:RightUp 右键弹起命令功能:向后台窗口句柄发送一个鼠标右键弹起命令参数:参数1 整数型,窗口句柄参数2 整数型,窗口X坐标参数3 整数型,窗口Y坐标返回值:无脚本例子:按键精灵8与以上语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:10, 10)处发送一个鼠标右键弹起2.Call Plugin.Bkgnd.RightUp(Hwnd, 10, 10)脚本例子:按键精灵7与以下语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:10, 10)处发送一个鼠标右键弹起2.Plugin Bkgnd.RightUp(Hwnd, 10, 10)命令名称:MiddleClick 中键单击功能:向后台窗口句柄发送一个鼠标中键单击命令参数:参数1 整数型,窗口句柄参数2 整数型,窗口X坐标参数3 整数型,窗口Y坐标返回值:无脚本例子:按键精灵8与以上语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:10, 10)处发送一个鼠标中键单击2.Call Plugin.Bkgnd.MiddleClick(Hwnd, 10, 10)脚本例子:按键精灵7与以下语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)的客户区域(坐标:10, 10)处发送一个鼠标中键单击2.Plugin Bkgnd.MiddleClick(Hwnd, 10, 10)命令名称:SendString 发送字符串命令功能:向后台窗口句柄发送一个文本消息命令参数:参数1 整数型,窗口句柄参数2 字符串型,文本内容返回值:无脚本例子:按键精灵8与以上语法复制代码1.Call RunApp("notepad.exe")2.Delay 10003.//=================================================================================4.//找记事本输入区句柄5.Hwnd=Plugin.Window.Find("notepad",0)6.Hwnd=Plugin.Window.FindEx(Hwnd, 0, "Edit", 0)7.//下面这句用于向后台窗口句柄(变量:Hwnd)发送一个文本消息(内容:"内容")到客户区8.Call Plugin.Bkgnd.SendString(Hwnd, "内容")9.TracePrint "发送一个文本消息(内容)"脚本复制代码按键精灵7与以下语法1.VBSCall RunApp("notepad.exe")2.Delay 10003.//=================================================================================4.//找记事本输入区句柄5.Plugin Hwnd=Window.Find("notepad",0)6.Plugin Hwnd=Window.FindEx(Hwnd, 0, "Edit", 0)7.//下面这句用于向后台窗口句柄(变量:Hwnd)发送一个文本消息(内容:"内容")到客户区8.Plugin Bkgnd.SendString(Hwnd, "内容")9.TracePrint "发送一个文本消息(内容)"命令名称:MoveTo 鼠标移动命令功能:向后台窗口句柄发送一个鼠标移动到坐标处命令参数:参数1 整数型,窗口句柄参数2 整数型,窗口X坐标参数3 整数型,窗口Y坐标返回值:无脚本例子:按键精灵8与以上语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)发送一个鼠标移动到客户区域(坐标:10, 10)处2.Call Plugin.Bkgnd.MoveTo(Hwnd, 10, 10)脚本例子:按键精灵7与以下语法复制代码1.//下面这句用于向后台窗口句柄(变量:Hwnd)发送一个鼠标移动到客户区域(坐标:10, 10)处2.Plugin Bkgnd.MoveTo(Hwnd, 10, 10)命令名称:GetPixelColor 得到指定点颜色命令功能:得到指定点颜色(不支持win2000以下系统)命令参数:参数1 整数型,窗口句柄参数2 整数型,窗口X坐标参数3 整数型,窗口Y坐标值:字符串型,16进制颜色值脚本例子:按键精灵8与以上语法复制代码1.//下面这句取窗口句柄(变量:Hwnd)窗口的客户区(坐标:5, 5)处的颜色2.Color = Plugin.Bkgnd.GetPixelColor(Hwnd, 5, 5)3.Msgbox "后台窗口(坐标:5, 5)处的颜色=" & Color脚本例子:按键精灵7与以下语法复制代码1.//下面这句取窗口句柄(变量:Hwnd)窗口的客户区(坐标:5, 5)处的颜色2.Plugin Color = Bkgnd.GetPixelColor(Hwnd, 5, 5)3.Msgbox "后台窗口(坐标:5, 5)处的颜色=" & Color命令名称:FindColor 区域找色命令功能:区域找色(不支持win2000以下系统)命令参数:参数1 整数型,窗口句柄参数2 整数型,窗口左上角X坐标参数3 整数型,窗口左上角Y坐标参数4 整数型,窗口右下角X坐标参数5 整数型,窗口右下角Y坐标参数6 字符串型,16进制颜色值返回值:字符串型,颜色位置坐标脚本例子:按键精灵8与以上语法复制代码1.//下面这句按从左到右,从上到下的顺序查找窗口句柄(变量:Hwnd)窗口的指定矩形区域内指定颜色2.XY = Plugin.Bkgnd.FindColor(Hwnd, 0, 0, 20, 20, "FFFFFF")3.//下面这句用于分割字符串,将横坐标和纵坐标分成两个字符串4.dim MyArray5.MyArray = Split(XY, "|")6.//下面这句将字符串转换成数值7.X = Clng(MyArray(0)): Y = Clng(MyArray(1))8.Msgbox "后台窗口颜色X坐标="& X & " Y坐标=" & Y脚本例子:按键精灵7与以下语复制代码1.//下面这句按从左到右,从上到下的顺序查找窗口句柄(变量:Hwnd)窗口的指定矩形区域内指定颜色2.Plugin XY = Bkgnd.FindColor(Hwnd, 0, 0, 20, 20, "FFFFFF")3.//下面这句用于分割字符串,将横坐标和纵坐标分成两个字符串4.MyArray = Split(XY, "|")命令参数:参数1 整数型,窗口句柄参数2 整数型,窗口左上角X坐标参数3 整数型,窗口左上角Y坐标参数4 整数型,窗口右下角X坐标参数5 整数型,窗口右下角Y坐标参数6 字符串型,16进制颜色值返回值:字符串型,颜色位置坐标脚本例子:按键精灵8与以上语法复制代码1.//下面这句按从中间到四周的顺序查找窗口句柄(变量:Hwnd)窗口的指定的矩形区域内指定颜色2.XY = Plugin.Bkgnd.FindCenterColor(Hwnd, 0, 0, 20, 20, "FFFFFF")3.//下面这句用于分割字符串,将横坐标和纵坐标分成两个字符串4.dim MyArray5.MyArray = Split(XY, "|")6.//下面这句将字符串转换成数值7.X = Clng(MyArray(0)): Y = Clng(MyArray(1))8.Msgbox "后台窗口颜色X坐标="& X & " Y坐标=" & Y脚本例子:按键精灵7与以下语法复制代码1.//下面这句按从中间到四周的顺序查找窗口句柄(变量:Hwnd)窗口的指定的矩形区域内指定颜色2.Plugin XY = Bkgnd.FindCenterColor(Hwnd, 0, 0, 20, 20, "FFFFFF")3.//下面这句用于分割字符串,将横坐标和纵坐标分成两个字符串4.MyArray = Split(XY, "|")5.//下面这句将字符串转换成数值6.X = Clng(MyArray(0)): Y = Clng(MyArray(1))7.Msgbox "后台窗口颜色X坐标="& X & " Y坐标=" & Y插件命令面板 - Color颜色命令名称:ColorToRGB 颜色转RGB命令功能:把16进制颜色值转换分解到10进制(R,G,B)分量中命令参数:参数1 字符串型,16进制颜色值参数2 整数型,返回10进制R分量参数3 整数型,返回10进制G分量参数4 整数型,返回10进制B分量返回值:无脚本例复制代码按键精灵8与以上语法1.//下面这句是把16进制颜色("0000FF")转换分解到10进制(R:R, G:G, B:B)分量中2.Call Plugin.Color.ColorToRGB("ffffFF", R, G, B)3.msgbox R&" " & G &" " & B脚本例子:按键精灵7与以下语法复制代码1.//下面这句是把16进制颜色("0000FF")转换分解到10进制(R:R, G:G, B:B)分量中2.Plugin Color.ColorToRGB("ffffFF", R, G, B)3.msgbox R&" " & G &" " & B命令名称:GetRGB 得到RGB分量合并值命令功能:把10进制(R,G,B)分量合并到16进制颜色值中命令参数:参数1 整数型,10进制R分量参数2 整数型,10进制G分量参数3 整数型,10进制B分量返回值:字符串型,16进制颜色值脚本例子:按键精灵8与以上语法复制代码1.//下面这句是把10进制(R:255, G:0, B:0)分量合并到16进制颜色值变量(Color)中2.Color = Plugin.Color.GetRGB(255, 0, 0)3.msgbox "得到16进制颜色值:" & color脚本例子:按键精灵7与以下语法复制代码1.//下面这句是把10进制(R:255, G:0, B:0)分量合并到16进制颜色值变量(Color)中2.Plugin Color = Color.GetRGB(255, 0, 0)3.msgbox "得到16进制颜色值:" & color名称:ColorToHSL 颜色转HSL命令功能:把16进制颜色值转换分解到10进制(H,S,L)分量中命令参数:参数1 字符串型,16进制颜色值参数2 整数型,返回10进制H分量参数3 整数型,返回10进制S分量参数4 整数型,返回10进制L分量返回值:无脚本例子:按键精灵8与以上语法复制代码1.//色调(H)、饱和度(S)、亮度(L)2.//下面这句是把16进制颜色("0000FF")转换分解到10进制(H:H, S:S, L:L)分量中3.Call Plugin.Color.ColorToHSL("0000FF", H, S, L)4.msgbox H &" " & S &" " & L脚本例子:按键精灵7与以下语法复制代码1.//色调(H)、饱和度(S)、亮度(L)2.//下面这句是把16进制颜色("0000FF")转换分解到10进制(H:H, S:S, L:L)分量中3.Plugin Color.ColorToHSL("0000FF", H, S, L)4.msgbox H &" " & S &" " & L命令名称:CountColor 区域搜索颜色数量命令功能:X围区域搜索指定色数量命令参数:参数1 整数型,屏幕左上角X坐标参数2 整数型,屏幕左上角Y坐标参数3 整数型,屏幕右下角X坐标参数4 整数型,屏幕右下角Y坐标参数返回值:整数型,颜色数量脚本复制代码子:按键精灵8与以上语法1.//下面这句在屏幕区域X围内查找16进制颜色("0000FF")的数量2.NUM = Plugin.Color.CountColor(0, 0, 1024, 768, "FFFFFF",1)3.msgbox "颜色(""FFFFFF"")的数量=" & NUM脚本例子:按键精灵7与以下语法复制代码1.//下面这句在屏幕区域X围内查找16进制颜色("0000FF")的数量2.Plugin NUM = Color.CountColor(0, 0, 1024, 768, "FFFFFF",1)3.msgbox "颜色(""FFFFFF"")的数量=" & NUM命令名称:FindMutiColor 区域多点找色命令功能:X围区域内查找多点颜色命令参数:参数1 整数型,屏幕左上角X坐标参数2 整数型,屏幕左上角Y坐标参数3 整数型,屏幕右下角X坐标参数4 整数型,屏幕右下角Y坐标参数返回值:字符串型,左上角第一点颜色位置坐标脚本例子:按键精灵8与以上语法复制代码1.//下面这句在屏幕区域X围内查找多点颜色,返回左上角第一点颜色位置坐标2.XY = Plugin.Color.FindMutiColor(0, 0, 1024, 768, "FFFFFF", "2|0|FFFFFF,-6|1|FFFFFF,-3|1|FFFFFF,-6|3|FFFFFF,-33.//下面这句用于分割字符串4.ZB = InStr(XY, "|")5.//下面这句将字符串转换成数值6.X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))7.msgbox "屏幕多点找色功能:找屏幕""我""字位置位:" & X&","&Y脚本例子:按键精灵复制代码1.//下面这句在屏幕区域X围内查找多点颜色,返回左上角第一点颜色位置坐标2.Plugin XY = Color.FindMutiColor(0, 0, 1024, 768, "FFFFFF", "2|0|FFFFFF,-6|1|FFFFFF,-3|1|FFFFFF,-6|3|FFFFFF,-33.//下面这句用于分割字符串4.ZB = InStr(XY, "|")7与以下语法5.//下面这句将字符串转换成数值6.X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))7.msgbox "屏幕多点找色功能:找屏幕""我""字位置位:" & X&","&Y命令名称:FindShape 区域多点找形状命令功能:X围区域内查找形状命令参数:参数1 整数型,屏幕左上角X坐标参数2 整数型,屏幕左上角Y坐标参数3 整数型,屏幕右下角X坐标参数4 整数型,屏幕右下角Y坐标参数返回值:字符串型,左上角第一点位置坐标脚本例子:按键精灵8与以上语法复制代码1.//条件:0=不等,1=等于2.//下面这句在屏幕区域X围内查找图形形状,返回左上角第一点坐标位置3.XY = Plugin.Color.FindShape(0, 0, 1024, 768, "2|0|1,4|0|1,6|0|0,-4|1|1,-1|1|1,5|1|1,-4|3|1,-1|3|1,2|3|1,6|3|14.//下面这句用于分割字符串5.ZB = InStr(XY, "|")6.//下面这句将字符串转换成数值7.X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))8.msgbox "屏幕找图形形状功能:找屏幕""我""字位置位:" & X&","&Y脚本例子:按键精灵7与以下语法复制代码1.//条件:0=不等,1=等于2.//下面这句在屏幕区域X围内查找图形形状,返回左上角第一点坐标位置3.Plugin XY = Color.FindShape(0, 0, 1024, 768, "2|0|1,4|0|1,6|0|0,-4|1|1,-1|1|1,5|1|1,-4|3|1,-1|3|1,2|3|1,6|3|14.//下面这句用于分割字符串5.ZB = InStr(XY, "|")6.//下面这句将字符串转换成数值7.X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))8.msgbox "屏幕找图形形状功能:找屏幕""我""字位置位:" & X&","&Y插件命令面板 - Console控制台插件命令面板 - Encrypt加解密插件命令面板 - File文件插件命令面板 - Media多媒体Memory内存/进程插件命令面板 - Net网络插件命令面板 - Office办公文档插件命令面板 - Pic图像插件命令面板 - Sys系统。
学习怎么制作游戏辅助,按键后台插件命令为什么会失效?
学习怎么制作游戏辅助,按键后台插件命令为什么会失效?来源:按键学院【按键精灵】按键后台命令就是无效!抓狂啊,暴躁啊,忍不住泪牛满面啊~是否有同学遇到这样的情况呢?有吧?肯定有。
是什么原因呢?原因一、游戏窗口句柄没有获取到1. 游戏加壳,无法获取窗口句柄。
你要绑定的游戏它加了壳,所以无法获取窗口句柄,无法绑定窗口。
无法向窗口发送后台命令。
(加壳的全称是可执行程序资源压缩,是保护文件的常用手段.它起到了加密隐藏的保护作用。
让你无法抓到窗口句柄。
)这种情况比较复杂,有很多脱壳的工具,但是并不是你试用了一款脱壳软件它就一定适用于你要绑定的游戏,你可能要尝试很多种。
2. 游戏hook了GetParent函数接口hook技术可以将自身的代码“融入”被hook住的程序的进程中,成为目标进程的一个部分。
通过hook“接触”到需要修改的api函数入口点,改变它的地址指向新的自定义的函数。
GetParent函数是用于获得一个指定子窗口的父窗口句柄,如果游戏对它进行了hook,我们就无法获取想要获取的游戏窗口句柄。
3. 电脑上运行了其他的挂机软件电脑上运行了其他的挂机软件,导致了要操作的游戏窗口受到了干扰冲突。
关掉其他的挂机软件,重启游戏再绑定。
导致了要操作的游戏窗口受到了干扰冲突。
关掉其他的挂机软件,重启游戏再绑定。
原因二、游戏采用的绘图方式差异(图色信息获取与识别方向)目前较为热门的几种绘图分别是:GDI、OpenGL 、DirectX。
它们的功能就是处理图形图像(我们把范围缩小一点,就拿游戏窗口的图色做例子),GDI 是通过操作系统支配最后达成游戏窗口图色的显示,而OpenGL 、DirectX 它们两个是由显卡操作达成游戏窗口图色显示的。
按键精灵无法对基于显卡的OpenGL 、DirectX直接操作:我们的按键后台命令是基于操作系统的,所以无法直接对基于显卡的OpenGL 、DirectX 进行操作。
无法对它操作就意味着无法获取图色信息,在使用后台图色命令的时候就会失效。
按键精灵教程(最新完整版)
【使用说明】.
请先打开网页浏览器,访问你需要刷新的网址。然后按下热键,即可自动刷新。.
注意:刷新的时候请保证浏览器在前台,如果切换到后台就无法刷新了。能刷新后台网页的版本还在制作当中,欢迎大家关注。.
[Script]
UserVar YanShi=5000 请输入刷新网页的时间间隔,默认是5000毫秒,也就是5秒
注意:安装按键精灵必须用管理员帐号登录,如果您使用的是普通用户或者受限用户登录Windows,安装按键精灵之后可能无法执行脚本!
二、第一次使用按键精灵
1、启动按键精灵后会默认带有许多脚本,请首先体验一下我们提供的例子脚本。
2、注意脚本必须在有效状态才能使用,在使用脚本的过程中可以随时按下F12终止所有脚本。
图:启动神盾功能
神盾功能简介
部分网络游戏会将按键精灵误判为外挂程序进行屏蔽。开启神盾功能可以增强按键精灵的兼容性,使按键精灵在这些游戏里也可以顺利使用。神盾功能提供给免费用户试用10分钟,注册会员无时间限制。
提醒:若打开神盾依然无法使用按键精灵,注册用户可下载脚本执行器尝试使用。
StopHotkeyMod=0
RunOnce=1
EnableWindow=
Enable=0
[Repeat]
Type=1
Number=3954080
[CallBack]
OnSetup=
[Comment]
Content=.
【功能说明】.
自动按F5刷新网页,可设置刷新的时间频率,默认是2秒.
3、启动脚本之后可以随时按下终止脚本热键停止脚本运行。
手把手教你导入脚本
--------------------------------------------------------------------------------
快速学会游戏辅助教程:按键精灵解密时间计算复杂度
快速学会游戏辅助教程:按键精灵解密时间计算复杂度游戏中的拍卖行都是用排序来实现的,一般有冒泡排序和快速排序,而这些都和时间复杂度有关。
时间复杂度,其实就是算法中某一语句循环执行的次数。
例如:冒泡排序法原理
For i = 1 To n
For j = 1 To n
冒泡排序
Next
Next
这个算法的时间复杂度,即“冒泡排序”这个语句的执行次数。
当i=1的时候,For j = 1 To n:冒泡排序:Next,“冒泡排序”这个语句被执行了n次。
当i=2的时候,For j = 1To n:冒泡排序:Next,“冒泡排序”这个语句又被执行了n次。
当i=3的时候,For j = 1To n:冒泡排序:Next,“冒泡排序”这个语句又被执行了n次。
……
当i=n的时候,For j = 1To n:冒泡排序:Next,“冒泡排序”这个语句又被执行了n次。
综上,“冒泡排序”这个语句被执行了n个n次,即n*n=n^2次。
所以冒泡排序的时间复杂度即为n^2,我们记为O(n^2)
注:1.如果算法中语句执行次数为一个常数,则时间复杂度为O(1)。
2.若一个算法的时间复杂度为O(n)=n^2+3n+4,我们只取算式中最高次方,即O(n^2)。
按数量级递增排列,常见的时间复杂度有:常数阶O(1),对数阶O(log2n),线性阶O(n), 线性对数阶O(nlog2n),平方阶O(n2),立方阶O(n3),...,k次方阶O(nk),指数阶O(2n)。
随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。
制作游戏辅助:使用函数窗口处理验证码
制作游戏辅助:使用函数窗口处理验证码来源:按键学院【按键精灵】现场直播在inputbox窗口上显示验证码图片,并且将我们输入的验证码值返回给脚本进行处理。
进入主题~我们知道,如果是在QUI界面上显示图片,轻轻松松一个图像控件就可以搞定。
那为何要作死去挑战什么 inputbox窗口显示图片呢?——为什么呢?因为图像控件加载图片不是一般的龟速,而验证码输入追求的就是速度~我们用轩辕传奇游戏作为例子,看看一个用inputbox 来显示验证码,并且返回数据答验证的脚本,要如何实现~脚本思路:1、获取游戏窗口句柄。
2、判断验证码窗口是否出现。
3、计算验证码图片所在区域范围,使用图像插件命令PrintScreen截取验证码图片。
4、使用361度插件图像显示命令,在inputbox窗口上显示图像。
5、将inputbox返回值输入到游戏验证码输入框。
NO.1-获取游戏窗口句柄♥方法1:使用 MousePoint 鼠标指向窗口命令获取窗口句柄//此方法适用于需要一个个绑定窗口的情况hwnd=Plugin.Window.MousePoint()♥方法2:使用 SearchEx 遍历符合窗口命令获取窗口句柄//此方法适用于一键绑定所有游戏窗口的情况HwndEx=Plugin.Window.SearchEx("GEMAINWINDOWCLASS","轩辕传奇",0)参数1 :窗口符合的类名参数2 :窗口符合的标题参数3 :搜索方式(0:模糊,1:精确)"GEMAINWINDOWCLASS": 轩辕传奇游戏窗口的类名。
HwndEx中存放的是获取到的窗口句柄,如果有多个符合要求的句柄,句柄与句柄之间用" | "连接起来。
如果有多个窗口,我们需要通过split分割函数,把窗口句柄分割出来使用。
窗口句柄分割例子:MyArray = Split(HwndEx, "|")If UBound(MyArray)>=0 Theni=0For UBound(MyArray)//下面这句将字符串转换成数值Msgbox "第"& i+1 & " 个窗口句柄为:"& Clng(MyArray(i))i=i+1NextEnd If如果SearchEx命令无法遍历到窗口。
最经典的教程 按键精灵教程-精通版
变量就是会变化的量。
就像一个小柜子,我们可以在柜子里装载不同的东西,而当我们需要找到这些东西的时候,只要记住柜子的名字就可以了。
使用变量的方法是:先定义(给柜子起名)、再赋值(将物品放进柜子)、最后使用(根据柜子名字找到放在其中的物品)。
使用Dim命令定义变量,例如:Dim str1 //定义变量str1Dim var1=22 //定义变量Var1,并且赋值为22例子1:使用变量设置输出文字的内容1、下面红色的是3行脚本,请把他复制到“源文件”当中Dim str1str1 = "你很聪明"SayString str12、Dim str1 就是定义变量,也就是说我们创建了一个小柜子,给他起名为str13、str1 = "你很聪明" 就是赋值,我们把"你很聪明"这几个字放到str1这个小柜子里4、SayString str1 表示我们输出str1这个变量的内容,也就是说把str1这个小柜子里的内容拿出来交给SayString 这个命令去使用。
5、如果你希望修改喊话的内容,只要修改str1这个小柜子里的内容就可以了。
例子2:变量的一些用法a=1把数字1放进柜子a中。
b="你猜对了吗?"把字符串你猜对了吗?放进柜子b中。
字符串必须用""包含。
dc=3.14159265把小数放进柜子dc中。
num1=1num1=33num2=55sum=num1+num2首先把33和55分别放入num1和num2中。
然后把他们取出来,做加法操作(加法是由CPU来处理的),把结果放在sum中。
结果sum等于88num1=1num1=33num1被给值为1,然后又给值为33。
此时,num1中存储是的33。
1就被覆盖掉了。
没有了:)sum=sum+1这句不等同于数学的加法,也是初学者不容易理解的地方。
我们只要想,把sum拿出来和1做加法,再放回sum中就可以了。
按键精灵
模拟鼠标键盘动作的软件
01 软件功能
03 使用方法
目录
02 软件特点 04 更获荣誉
按键精灵是一款模拟鼠标键盘动作的软件。通过制作脚本,可以让按键精灵代替双手,自动执行一系列鼠标 键盘动作。
按键精灵简单易用,不需要任何编程知识就可以作出功能强大的脚本。只要在电脑前用双手可以完成的动作, 按键精灵都可以替代完成。
软件特点
按键精灵2014亮点功能 1.操作简单,非常容易上手,适合初级编程人员; 2.功能强大,脚本语句丰富,并有强大的录制键鼠操作的功能; 3.界面友好,提供多界面编辑功能,使用鼠标就可以完成大部分的脚本的制作动作; 4.提供写脚本向导、命令库加密、云脚本储存等人性化功能; 5.兼容性好,支持大部分Windows下的软件; 6.内置资源库,提供热门插件、命令库等资源下载; 7.拥有“神盾”保护功能。
谢谢观看
所获荣誉
按键精灵2014年中国国际软件博览会:金奖 2013年中国国际软件博览会:创新奖 2013年中国年度创新软件产品 2011年泡泡软件评选:友推荐奖; 2011年IT168软件频道:编辑推荐奖; 2011年硅谷动力金e奖:辅助软件编辑选择奖; 2011年PChome软件用户评选:最具实力奖; 2011年天极年度软件评选:络人气奖; 2010年电脑报优秀共享软件:最佳系统工具; 按键精灵2009年电脑报优秀共享软件:最佳人气奖; 2008年电脑报优秀共享软件:最佳系统工具;
安全认证
安全认证证书按键精灵通过了360的软件安全认证,无病毒无木马,完全安全。但由于按键精灵名气很大, 有一些伪造的按键精灵带有病毒木马,如果木马程序加载了键盘钩子,它就会监视你的键盘动作,当指定的一些 消息被系统中任何应用程序所处理时,这个钩子就被调用,有可能导致数据丢失泄密以及木马入侵。因此强烈建 议用户认准按键精灵官,避免落入木马的陷阱。
按键精灵7.0使用教程
按键精灵7.0版图:主界面及功能按钮工具栏功能简介新增:增加一个新的脚本。
修改:修改当前选中的脚本。
删除:删除当前选中的脚本,可以同时选中多个脚本进行删除。
录制:录制新的脚本,新手制作脚本首选功能。
导入脚本:从网络或者本机导入已经做好的脚本(txt 文件)到脚本目录下上传脚本:将当前脚本上传至按键精灵网站,与他人进行交流。
全有效/全无效:让所有脚本有效或者无效。
在设置界面中可设置这个功能的热键。
小精灵:将脚本打包为可以独立执行的EXE小精灵程序。
会员:注册软件,会员专区,感谢您使用正版软件。
神盾:按下后即可启动按键精灵保护,使按键精灵免遭其他程序(如nProtect等)攻击设置:设置按键精灵的使用参数。
升级:升级软件到最新版。
帮助:查看用户帮助手册脚本分类功能在脚本分类栏上点击鼠标右键,即可实现对分类的新建、删除、重命名功能脚本设置功能选中一个脚本,在主界面右侧即可对脚本的一些基本属性进行设置,还可以看到脚本的注释提醒:修改了脚本设置之后必须点击“保存”才能生效!小技巧:选中脚本点鼠标右键试试:)图:设置按键精灵设置功能简介在不是非常必要的情况下,建议不要修改设置内容!如何恢复默认设置?删除按键精灵安装目录下的qmacro.ini文件,然后重启按键精灵,所有的设置将会恢复默认。
设置热键模式为适应不同的软件环境,我们提供了4种热键模式。
设置脚本运行相关参数运行优先级:如果发现在部分游戏里出现按键精灵执行缓慢或者找点迟缓的情况,可以将按键精灵的优先级提高,分配更多的系统资源可以提高按键精灵的执行效率。
设置系统启动设置系统热键设置自动备份脚本编辑器 - 使用方法图:脚本编辑器界面脚本编辑器使用说明在命令面板选择动作,插入右边的脚本正文即可。
脚本支持粘贴、复制、移动、删除等操作。
脚本编写完毕之后,在脚本设置区进行一些必要的设置,点击“保存脚本” ,就可保存当前制作的脚本,点击右上角的X符号可以关闭编辑器返回主界面。
游戏辅助制作教程:用按键精灵脚本应对游戏分辨率改变问题
游戏辅助制作教程:用按键精灵脚本应对游戏分辨率改变问题情境一:游戏分辨率改变,图标大小不变,坐标动态变化解决方法:通过找图:游戏图标不变,找图的方式是最便捷的。
代码例子:hwnd =Plugin.Window.MousePoint()//获取鼠标指定窗口的窗口句柄sRect =Plugin.Window.GetClientRect(Hwnd)//获取窗口客户区大小s=split(sRect,"|")qx=s(0):qy=s(1):zx=s(2):zy=s(3)//qx,qy是左上角的xy坐标;zx是窗口的宽,zy是窗口的高CallFindPic(260,186,zx*0.5,zy*0.5,"游戏图片.bmp",0.9,mx,my)这里的qx,qy两个原始坐标(例子中的qx,qy原始坐标为(0,0)),用实际坐标 260,186代替,因为不管按键窗口怎么缩小,我们要找的图标最终的位置是在260,186,分辨率变大图标则往右边移动。
图3-800*600分辨率下“精品教程”图标位置大小图4-1024*768分辨率下“精品教程”图标位置大小为什么要在“CallFindPic(260,186,zx*0.5,zy*0.5,"游戏图片.bmp",0.9,mx,my)”这里zx,zy乘以0.5呢?就是咱提高脚本效率的秘籍了。
找图范围缩小为窗口的一半,因为例子中的图标不管窗口分辨率多大,图标在窗体中的位置比例都不会改变。
为了更效率的找图,尽量减少找图的范围减少找图的时间。
如下:图5-800*600分辨率下“精品教程”图标在窗体的长1/2、宽1/2左右图6-1024*768分辨率下“精品教程”图标在窗体的长1/2、宽1/2左右情境二:游戏分辨率改变,游戏图标等比放大解决方法:不同的分辨率各制作一套对应的图。
调用各分辨率,相对应的图。
有些游戏,游戏分辨率修改之后,游戏界面图标会等比的放大缩小。
按键精灵脚本制作教程(全)
关键字“Virtual-Key Codes”查找相关资料。bScan表示当键盘上某键被按下和放开
时,键盘系统硬件产生的扫描码
,我们可以MapVirtualKey()函数在虚拟键值与扫描码之间进行转换。dwFlags表示各种
各样的键盘动作,它有两种取
值:KEYEVENTF_EXTENDEDKEY和KEYEVENTF_KEYUP。
可以使用一些工具辅助分析,但是这还是一种坚苦而复杂的工作。
后期部分工作主要是根据前期对游戏的分析结果,使用大量的程序开发技术编写外
挂程序以实现对游戏的控制或
修改。如外挂程序为第一类外挂时,通常会使用到鼠标模拟技术来实现游戏角色的自动
位置移动,使用键盘模拟技术
来实现游戏角色的自动攻击。如外挂程序为第二类外挂时,通常会使用到挡截Sock和挡
一、 前言
所谓游戏外挂,其实是一种游戏外辅程序,它可以协助玩家自动产生游戏动作、修
改游戏网络数据包以及修改游
戏内存数据等,以实现玩家用最少的时间和金钱去完成功力升级和过关斩将。虽然,现
在对游戏外挂程序的“合法”
身份众说纷纭,在这里我不想对此发表任何个人意见,让时间去说明一切吧。
GetCursorPos(&oldPoint); //保存当前鼠标位置。
newPoint.x = oldPoint.x+40;
newPoint.y = oldPoint.y+10;
SetCursorPos(newPoint.x,newPoint.y); //设置目的地位置。
下面我们使用一段代码实现在游戏中按下Shift+R快捷键对攻击对象进行攻击。
最全面的按键精灵教程
最全面的按键精灵教程一、键盘命令(2~5页)二、鼠标命令(5~13页)三、控制命令(13~22页)四、颜色/图像命令(22~28页)五、其他命令(28~355页)五、网游脚本实例(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次脚本例子:(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.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 、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.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.这样脚本执行后鼠标的位置就不会变化命令名称: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 Whiletrue30. 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. 无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>02. UserVar 变量=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坐标返回值:无脚本例子:(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表示查找方式。
按键精灵脚本制作教程课件
自动战斗
编写脚本使角色自动进行战斗,释放技能, 极大提高游戏效率。
自动任务
一键完成重复性任务,节省时间,提高游戏 体验。
办公自动化脚本制作
批量处理文件
通过按键精灵脚本,实现批量重命名、移动、删除等 操作,提高办公效率。
数据录入自动化
将数据自动填入表格中,减少人工操作,避免出错。
自动化办公流程
通过脚本实现一系列办பைடு நூலகம்流程自动化,如自动发送邮 件、自动打印等。
包含文件、编辑、查看、窗口 、帮助等菜单项。
脚本编辑器
用于编写和编辑脚本的地方, 支持代码高亮和自动补全等功 能。
主界面
包括菜单栏、工具栏、脚本编 辑器、脚本管理器等。
工具栏
提供常用功能按钮,如录制、 运行、停止等。
脚本管理器
用于管理已创建的脚本,包括 新建、打开、保存、删除等操 作。
CHAPTER 02
CHAPTER 03
按键精灵脚本制作进阶
高级功能应用
01
02
03
图像识别
利用图像识别技术,实现 自动化操作中的目标识别 与定位。
语音识别与合成
通过语音识别技术,实现 语音控制和语音反馈,提 高用户体验。
自动化测试
利用按键精灵脚本进行软 件自动化测试,提高测试 效率和准确性。
多线程与异步编程
多线程技术
按键精灵脚本制作教 程课件
目录
• 按键精灵简介 • 按键精灵脚本制作基础 • 按键精灵脚本制作进阶 • 按键精灵脚本制作实战案例
CHAPTER 01
按键精灵简介
软件背景
01
按键精灵是一款模拟鼠标键盘操作的软件,可以用 于自动化脚本的制作。
按键精灵一键隐藏游戏窗口代码
Call RunApp(URL)
FindColor 0,0,1024,768,"0033FF",intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX, intY
End If
i=i+1
EndFor
EndIf
Delay 100
End Sub
Sub 显示窗口()
//下面这句用于分割字符串,将获得的句柄组分割
MyArray = Split(HwndEx, "|")
If UBound(MyArray)>=0
i=i+1
EndFor
EndIf
Delay 100
End Sub
Delay 100
LeftClick 1
Hwnd = Plugin.Window.Foreground()
Call Plugin.Window.Close(Hwnd)
dim MyArrayGG
If HwndEx="" Then
Call 读取窗口句柄组()
Call 显示窗口()
Delay 100
i=0
For UBound(MyArray)
//下面这句将字符串转换成数值
Hwnd=Clng(MyArray(i))
//显示窗口
Call Plugin.Window.Show(Hwnd)
Call Plugin.File.WriteINI("Command", "窗口标题", sText, ".\Config.ini")
如何基于python实现脚本加密
_to_p = get_save_path(from_dir, to_dir, _p) Path(_to_p.parent).mkdir(exist_ok=True, parents=True) with _to_p.open('w', encoding='utf-8') as write_fp:
write_fp.write(res)
def py2pyc(from_dir, to_dir): pile_dir(str(from_dir.resolve()), maxlevels=20, force=True)
def pyc2py(from_dir, to_dir): pass
if __name__ == '__main__': origin_dir = Path(sys.argv[1]) target_dir = Path(sys.argv[2]) pymini_dir = target_dir.joinpath('pymini') pyc_dir = target_dir.joinpath('pyc_dir') py_dir = target_dir.joinpath('py_dir') mix_pyminifier(origin_dir, target_dir) # py2pyc(origin_dir, pyc_dir) # pyc2py(pyc_dir, pyc_dir)
这篇文章主要介绍了python防止随意修改类属性的实现方法文中通过示例代码介绍的非常详细对大家的学习或者工作具有一定的参考学习价值需要的朋友们下面随着小编来一了如何基于python实现脚本加密,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参 考学习价值,需要的朋友可以参考下
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
游戏辅助教程:按键精灵给源代码加密
来源:按键学院【按键精灵】有童鞋问了小编这么一个绕人的问题:想分享代码而又不想完全分享,该怎么办?
小编:说人话……
童鞋:我想分享我写的一个函数给别人使用,但是不想公开源码,该怎么办?
好办,命令库的加密功能就能实现。
啥是命令库加密?
命令库加密就是将命令库里写好的函数命令封装起来,源码不可见。
使用者可以使用你的函数命令,但却看不到函数命令源码。
如何使用加密功能?
1、首先,需是按键精灵会员,才能使用命令库加密功能。
加密之后的命令库命令,可以给其它会员或者非会员使用。
2、右击我的命令库里需要加密的命令,点击加密。
3、加密之后会新生成一个带锁图标的命令库文件,原来未加密的命令库文件也还存在。
4、加密的命令库文件,在按键精灵安装目录下的,lib文件夹里。
未加密的命令库文件后缀名是.qml 加密之后的命令库文件后缀名为.qmle 如果觉得到按键目录下找很麻烦,可以右击加密后的命令库文件:
选择导出,将加密的命令库文件导出到桌面或者其它好找的位置。
如何分享加密后的命令库命令?
1、生成加密文件后,将.qmle命令库文件,发送给要使用的人。
2、要使用的人接收到.qmle文件之后,将它放到按键精灵安装目录下的lib文件夹中。
3、打开按键精灵进行使用,如果按键精灵已经是打开状态,右击我的命令库里的任意命令,选择刷新即可看到新添加的命令库命令。
加密和未加密的命令库调用方式
1、未加密的命令库命令调用:
Call Lib.大漠注册.register(dz)
2、加密的命令库命令调用:
Call LibE.大漠注册.register(dz)
两者调用的区别在于:未加密的是lib.命令库命令。
加密的是LibE.命令库命令。