按键精灵抓图

按键精灵抓图
按键精灵抓图

经常在论坛里看到有人发按键精灵找图求助的帖子,所以特意写了此篇文章(可能算不上文章)。

虽然我以前有抓图的经验,但为了写篇像样的文章,特意做了不少实验。

首先要强调的是设置找图参数问题(不是刚学抓图的人,这点可以不用看)。下面是找图的语句

VBSCall Call FindPic(left,top,right,bottom,filename,similar,x,y)

left处填写找图区域的左边界,top处填写找图区域的上边界,right处填写找图区域的右边界,bottom处填写找图区域的下边界。

设置的找图区域不要出屏幕范围,否则可能会出错(我也不太确定^_^)。如果屏幕分辨率是1024×768,那屏幕范围是0,0,1023,767;如果如果屏幕分辨率是800×600,那屏幕范围是0,0,799,599。因为屏幕坐标是从0开始算的,不是从1开始算的,所以右边界和下边界的值要减1。曾经看到有人找图范围设置成0,0,800,600,就超出了屏幕范围。

filename处填图片文件名的路径,也可以只填文件名,这时墨认图片文件的路径是在script文件夹下,图片文件要是BMP格式的,JPG格式估计不行(没试过^_^),失真大。

similar处填图片的相似度,取值在0.5到1之间(我曾经试过取2,测试结果忘了-_-! 别砸我),取的值越大,相似度越高,找图的速度也越快(这是别人说的)。虽然按键精灵的作者推荐取0.9,但只要图不是透明的,背景设置正确(这是这篇文章的重点),设成1都能找到(再同一台电脑上肯定没问题,换台电脑就不知道了)。

x处填保存找到的图片的横坐标的变量,y处填保存找到的图片的纵坐标的变量。这程序返回的是找到的图片的左上角的坐标。当程序找不到符合的图片时,这2个变量都被置-1。这里要注意,如果脚本中用鼠标的位置来指示找到的图片,如果没有考虑到找不到符号图片的问题,当找不到符合的图片时,虽然鼠标不能移到坐标(-1,-1)处,但鼠标会移到屏幕左上角,也就是坐标(0,0)处。

下面就是这篇文章的重点:(如何处理图片背景)

对于不透明的图片,只要图片的背景处理得正确,找图的成功率是很高的。只要你要找的图不是透明的,且完整地显示再屏幕上,找图的成功率基本是100%(目前还没遇到过意外,为了防止出现意外,这里加了个基本。不过这也不能保证安全,因为我的一个老师写的书也是怕遇到特殊情况,加了个基本上去,被人挑了刺-_-!)。

首先来纠正下部分人的错误观点:

1、白色是程序默认的透明色(注意这里说的是错误观点,大家别弄反了)

任何颜色都可以是背景色,只要程序认定了哪种颜色是背景色,哪种颜色就是透明色(有图为证,见这篇文章所附的图中图16,当桌面上有全蓝图片时,这语句就找不到合适的图片,原因是此图中有块白色区域)。所以这个语句也可以找纯白的图片。

2、(还没想到,等我想到了再补上^_^)

现在开始说处理图片背景的问题:

同一图片的背景色要为同一种颜色(为了防止遇到笨蛋,特加上这句,知道和不知道这点的人都别砸我,现在写篇文章不容易啊,要考虑到不同层次的人)。处理图片背景的时候一定要认真,要把图片设置成最大(我是用画图处理的,放大率调成8倍,还设置成有网格),一定要把原图片的背景都改成同一种,最好是要找的东西的图片上没有的颜色,改的时候一个像素都别漏,一个像素都会决定你的成败。

下面是这篇文章的核心部分——程序如何判断背景色

毕竟电脑不是人,没那么聪明,人不要人教就能判断背景色,而且十分准确。要是程序判断背景色错误,就不能对图片进行准确的识别,所以知道程序判断背景色的方法是非常重要的,既然程序不能适应我们,那我们就去适应它(这程序没救了,还要我们去适应它,一点人性化都没有-_-!)。对按键精灵如何判断背景色,我有3种猜测:

1、以图片四个角的颜色做为背景色;

2、以图片中所占像素最多的颜色作为背景色;

3、采用前面2种方法进行综合判断。

其中第一种方法最容易实现,采用的可能行最大。

为了证明我的猜测我做了很多试验(顺便说下闲话,为什么叫试验呢,而不叫实验,我的老师说:“试验是先前不知道结果的,试是测试下的意思;实验是先前知道结果的,实是实践的意思。”早就知道的人别向我扔鸡蛋,是我以前分不清,我就以为你们也分不清。这里可是真正的试验哦,不是实验。那些科学家做的也是试验,我做的是和他们一个等级的,我又在吹牛了^_^),下面的是实验时所使用的脚本:

VBSCall FindPic(0,0,1023,767,"测试。bmp",1,x,y)

If x>=0 and y>=0

MoveTo x,y

Else

VBSCall MessageBox("没找到图片")

EndIf

我的系统设置为32位色,屏幕分辨率是1024×768,其他的就不说了,和这次测试没关系,这也是个人隐私嘛!

试验时“测试。bmp”文件放在了script文件夹里(这样就不用写路径了,偷下懒)。

这次试验时所用过的“测试。bmp”图片如图“测试”所示(这论坛里图片和文字怎么不能交替地放-_-!)。图“测试”里的图是在画笔里放大8倍后再加网格的结果,每一格就是一个像素,其实那些图片是很小的。测试结果如图“结果”。测试时是用画笔的调色板做为被找的图片。细心的人也许会发现有些“测试”的图片在“结果”里找不到结果,下面来解释下,这里有3种图片在“结果”里是找不到的,一是没必要用图片来表达试验结果的图片,它们结果是弹出个对话框,显示“没找到图片”,这样的试验图片有在图“测试”里的图16和19;第二种是无法用局部图片来表达试验结果的试验,它们的试验结果是鼠标移到了屏幕的左上角,屏幕坐标(0,0)处,这样的试验图片有图“测试”里的图7,9;第三种是不是用来做试验的,是用来给你们看下我处理图片背景的过程,这样的图片有在“测试”里的图18、19、20。

图“测试”里的图1到图9证明了,该程序是优先采用如果图片4个角的颜色相同时,侧取4个角的颜色作为背景色。四个角的颜色不相同时是采用什么方法来识别背景色的就不清楚了。但知道“优先采用如果图片4个角的颜色相同时,侧取4个角的颜色作为背景色。”

这点就已经足够了,要想让程序知道什么是背景色,把图片的四个角都填成背景色就可以了。实践的例子如图“测试”里的图18,19,20。图19是把抓来的图片里的原图——图18的背景色都处理成相同的颜色,然后找原图就会弹出“没找到图片”的对话框。原因就是图19里的右下角的颜色和其它3个角的颜色不相同,程序识别背景色错误。此时,把图19的右下角的颜色改成和其它3个角的颜色相同,如图20,再找原图就成功了。

图“测试”里的图7和图9就奇怪了,为什么鼠标会移动屏幕坐标(0,0)处,却没弹出“没找到图片”的对话框,这说明此时城乡返回的坐标是(0,0)。为什么会这样?请按键精灵的作者来解释下。不过大家不用当心,处理背景色的时候4个角都取背景色就不会出现这种情况了。

图“结果”里的第4个和第5个图有人或许会觉得奇怪,鼠标指的不是图片的左上角,而是指到图片外面去了。那是因为测试图片的上面几行和左边几行被系统认为是背景色,也就是作为透明的来处理,透明的就是那些地方是任何颜色都可以,所以调色板里的那些蓝色色块左上角外面的也符合要求。所以鼠标指的还是被找图片的左上角。不信看看图“测试”里的图10和图11的测试结果。

图“结果”里的第2个图大家也不要以为实验出来的结果是找到鼠标所指向的颜色的图片,其实也是蓝色,原因和前面的一样。

图“测试”里的图12是用来测试被其他颜色包围的背景色是不是也被程序认为是透明的,试验结果证明这种情况也被程序认为是透明的。

文章写到这里就基本结束了(一不小心就写了这么多-_-!,让大家看得辛苦了),高手看到这里或许失望了,估计这些你早就知道了(这句不是写给按键精灵的作者看的。要是按键精灵的作者来看了,请继续看后面的,后面有要对你说的话。),但你既然来了,就顺便帮我找找错误,或者补充下我写的东西。

既然我是为了给按键精灵的作者找茬才来这个论坛注册,那就继续给他找茬,省得浪费了我的注册这个论坛会员的时间。按键精灵的作者请看下面:

我对这次的实验的感受啊,要我怎么跟你说呢?你那条找图语句里怎么就不能多加2

个输入参数呢?一个是是否使用背景,一个是背景的颜色,或者是背景色在图片中的坐标(让程序在该图中遇到与该点处的颜色相同的像素的就认为是背景),个人认为这里的第2种方法比较好,因为用第1种方法有个缺点:如果这程序在设置为32位色的电脑上能运行通过,那在在设置为16位色的电脑上就不能准确识别背景色。这样大家都明白,你写程序也简单啊。而程序像现在这样,你写判断背景色的部分麻烦,别人又不知道你是如何判断背景色的,弄得找图失败都不知道原因。当然,既然我写了这篇文章你也不用改程序了。^_^

按键精灵插件使用说明

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

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

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

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

按键精灵教程

变量!神奇的小柜子 变量就是会变化的量。就像一个小柜子,我们可以在柜子里装载不同的东西,而当我们需要找到这些东西的时候,只要记住柜子的名字就可以了。 使用变量的方法是:先定义(给柜子起名)、再赋值(将物品放进柜子)、最后使用(根据柜子名字找到放在其中的物品)。 使用Dim命令定义变量,例如: Dim str1 //定义变量str1 Dim var1=22 //定义变量Var1,并且赋值为22 例子1:使用变量设置输出文字的内容 1、下面红色的是3行脚本,请把他复制到“源文件”当中 Dim str1 str1 = "你很聪明" SayString str1 2、Dim str1 就是定义变量,也就是说我们创建了一个小柜子,给他起名为str1 3、str1 = "你很聪明" 就是赋值,我们把"你很聪明"这几个字放到str1这个小柜子里 4、SayString str1 表示我们输出str1这个变量的内容,也就是说把str1这个小柜子里的内容拿出来交给SayString 这个命令去使用。 5、如果你希望修改喊话的内容,只要修改str1这个小柜子里的内容就可以了。 例子2:变量的一些用法 a=1 把数字1放进柜子a中。 b="你猜对了吗?" 把字符串你猜对了吗?放进柜子b中。字符串必须用""包含。 dc=3.14159265 把小数放进柜子dc中。 num1=1 num1=33 num2=55 sum=num1+num2 首先把33和55分别放入num1和num2中。然后把他们取出来,做加法操作(加法是由CPU来处理的),把结果放在sum中。结果sum等于88 num1=1 num1=33 num1被给值为1,然后又给值为33。此时,num1中存储是的33。1就被覆盖掉了。没有了:) sum=sum+1 这句不等同于数学的加法,也是初学者不容易理解的地方。我们只要想,把sum拿出来和1做加法,再放回sum中就可以了。sum原来的值是88,做完加法后,sum等于89。 pig=1 pig=pig*3+pig 能猜出pig最后等于几么?1*3+1。结果是4 例子3:使用变量输入1到100的数字 VBSCall RunApp("notepad") Delay 2000 a=1

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

学会用按键精灵制作游戏脚本之前后台坐标关联教程 来源:按键学院【按键精灵】 各位大大在切换前后台命令的时候,有没有遇到坐标切换呢~ 有没有发现前后台的命令,对同一个窗体内容,居然坐标不同!! 今天~院刊就跟大家普及下前台坐标与相对应的后台坐标知识~ 什么是前台坐标和后台坐标呢? 什么是前台坐标? 以屏幕左上角的坐标为起点(0,0,从而获取到的各个窗体的坐标,就是前台坐标。 什么是后台坐标? 以窗口左上角为起点(0,0,从而获取到的这个窗体内的相对坐标,就是后台坐标。 如图: 我们来举个栗子吧,例如txt文本里的输入文字的起始点。

至此,各位大大知道前后台坐标的联系了吧。一个是绝对坐标(前台),一个是相对坐标(后台)。 那么如何进行前后台坐标的切换呢 从上图里,聪明机智的小伙伴们就会发现:如果知道了前台坐标,也知道了窗口左上角的值。那么窗口客户区内的 任意后台的坐标,不是都可以通过以下计算来获得了: 后台x坐标=客户区前台x坐标-客户区左上角前台x坐标 后台y坐标=客户区前台y坐标-客户区左上角前台y坐标 如何获得客户区前台的x,y坐标呢? 我们使用按键精灵自带的窗体插件命令:GetWindowRect来获取。 命令名称: GetWindowRect 窗口边框大小 命令功能:得到窗口句柄的边框大小(包括标题栏 命令参数:参数1 整数型,窗口句柄

返回值:字符串型,边框大小(包括标题栏 注:返回为:边框窗口左角X坐标|边框窗口左上角Y坐标|边框窗口右下角X坐标 |边框窗口右下角Y坐标 //下面这句是得到窗口句柄的边框大小(包括标题栏 sRect = Plugin.Window.GetWindowRect(句柄 将你所要获取的窗口句柄填入括号内就可以啦~ 范例举例: 举个萌萌哒的例子:向记事本特定位置输入文字。 例如我要往“hello”和“按键精灵”中间插入文字: 2014-9-17 18:03 上传 下载附件(8 KB 思路: 每次打开记事本的位置,有可能会有变化。而我们又不能每次都要去获取它的坐标再改脚本,这样太费力了。所以呢,只要锁定了记事本,知道了目标在记事本中的相对位置就可以操作啦。 同理,寻找游戏里的物品目标,前台不稳定。后台命令也是基于相对坐标的。 1. 先找到目标窗体的左上角坐标 (通过窗体插件命令:GetWindowRect来获取) 2. 再找到目标窗体内,“hello”和“按键精灵”中间的坐标 (为了方便,我们用抓抓获取。在游戏中,可以通过找图找色来获取前台坐标)

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

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

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

按键精灵插件帮助

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

按键精灵 输入框

按键精灵输入框 一、控件介绍 在输入框中单击鼠标会出现插入点光标,我们可以直接在输入框中输入文字或文本信息。二、创建控件 创建输入输入框和之前创建标签的方法是一样的。在工具栏上点击输入框控件。移动鼠标到QUI的窗体上,这时鼠标就会变成“十”字形状,这就说明已经成功选择创建输入框了。然后,在编辑区域按住鼠标左键,框选一块区域,松开鼠标左键。这时界面上就创建出一个输入框出来了,如下图。 三、控件属性 在QUI在输入框的属性总共有10项。其中有4个基本属性和5个位置属性外加1个其他属性(控件样式)。 基本属性分别是:名称(Name)、显示(Visible)、有效(Enabled)、标题(Caption)。 位置属性分别是:左边(Left)、上边(Top)、宽度(Width)、高度(Height)、显示顺序(Z Order)。

其他属性为“密码”。这个属性是为了提供满足用户们输入密码而设计的,当这个属性值为“是”时,在输入框输入的全都了“*”代替。并且该属性在QUI编辑时就已经设置好,在运行过程当中无法修改这个属性。 (1)获取输入框的值 输入框控件是制作界面中最使用的控件类型。主要是提供给用户输入使用的。所以在输入框的控件中最经常发生的一件事情就是获取输入框值的内容。 和标签一样,输入框的内容我们也称它为文本。但是和标签不同的是,输入框文本对应的是T ext。 既然我们知道了输入框上的文本属性是通过Text来访问的。那么我们就在脚本里面获取内容来使用。 在界面中创建一个输入框,默认输入框的名称是“InputBox1”。输入框的文本内容默认也是“InputBox1”。然后我们切换到脚本的源码视图,编辑代码获取文本框控件上的文本内容,并且将这个内容弹窗显示出来。 MessageBox Form1.InputBox1.Text 编辑完成后,点击【保存】,然后进入调试,点击【自定义界面】,可以看到刚才创建的输入框的内容。修改输入框里面的内容,比如修改成“ABCDEF”,点击【保存】,然后【确定】,最后关闭QUI窗体,点击【启动】。 这时就可以看到弹出窗口里面显示着“ABCDEF”。

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

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

2018-2019-按键精灵知识-word范文模板 (11页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除! == 本文为word格式,下载后可方便编辑和修改! == 按键精灵知识 篇一:按键精灵新手入门 按键精灵文档简介: 基本信息→基本介绍→使用说明→软件功能→软件特点→使用方法→更新日志→常见问题→安全认证 按键精灵: 按键精灵是一个模拟鼠标键盘动作的软件。通过制作脚本,可以让按键精灵代替双手,自动执行一系列鼠标键盘动作。按键精灵简单易用,不需要任何编程知识就可以作出功能强大的脚本。只要在电脑前用双手可以完成的动作,按键精灵都可以替代完成. 按键精灵基本信息:软件版本:按键精灵(Quick Macro) 9.0版 软件大小: 7.93MB 更新时间: 201X-08-11 软件类别:国产软件 / 键盘鼠标 软件语言:简体中文 / 繁体中文 应用平台: Win9x/Win201X/WinXP/WinVista/Win7 软件性质:免费软件 开发商:兄弟工作组 按键精灵会员注册: 按键精灵基本介绍: 按键精灵可以帮你操作电脑。类似于按键精灵的软件有 "

按键游侠","super-ec"等。从编程的角度看,集合一些插件的脚本编辑、调试工具。代码不公开。生成的小精灵,模式化界面,界面中有广告,以此盈利 软件功能:1.网络游戏中可作脚本实现自动打怪,自动补血,自动说话等; 2.办公族可用它自动处理表格、文档, 按键精灵 自动收发邮件等 3.任何觉得“有点烦”的电脑操作都可以替完成。按键精灵软件特点: 1.操作简单,非常容易上手; 2.功能强大,脚本语句丰富; 3.界面友好,使用鼠标就可以完成大部分脚本的制作动作 4.兼容性好,支持大部分Windows下的软件 5.拥有“神盾”保护功能。 按键精灵使用方法:第一步:设计脚本功能 按键精灵 写脚本之前要想清楚自己要做什么功能。在这里来制作一个每隔5秒自动按F5刷新网页的脚本。 第二步:设计脚本 为制作了组图来说明如何制作这个脚本。 做任何脚本都是两步:第一步先设计功能,第二步就是用按键精灵提供的命令完成这些功能。 常见问题: 什么是脚本? 脚本就是一系列可以反复执行的命令.通过一些判断条件,可以让这些命令具有一定的智能效果. 按键精灵软件如何制作脚本?

按键精灵图文教程

手把手教你用“按键精灵”图文教程 类型:转载 按键精灵是一个可以模拟电脑操作的软件,您在电脑上的一切动作都可以让按键精灵模拟执行,完全解放您的双手。按键精灵可以帮你操作电脑,不需要任何编程知识就可以作出功能强大的脚本。 如果你还为一些枯燥、繁琐的电脑操作而烦恼,按键精灵绝对会是你最好的帮手。 那么,按键精灵具体能帮我们干什么呢?我们来列举几个例子来说明下。 * 网络游戏中可作脚本实现自动打怪,自动补血,自动说话等; * 办公族可用它自动处理表格、文档,自动收发邮件等; * 任何你觉得“有点烦”的电脑操作都可以替你完成。按键精灵第一个实现了“动动鼠标就可以制作出脚本”的功能。我们不希望为了使用一个小软件而去学习编程知识,考虑到这些,所以按键精灵完全界面操作就可以制作脚本。按键精灵的脚本是纯粹的TXT文件,即使是目前新增了插件功能,也引入了数字签名的机制。因此我们可以放心的使用网站上的脚本而不用担心会有病毒。 脚本就是一系列可以反复执行的命令.通过一些判断条件,可以让这些命令具有一定的智能效果.我们可以通过”录制”功能制作简单的脚本,还可通过”脚本编辑器”制作更加智能的脚本.今天我们就通过录制一个最简单的脚本,来手把手的教大家使用按键精灵。 上网一族一般开机后会先看看自己邮箱,或者看看自己博客;每天如此,可能都有些烦了。现在好了,把这些繁杂的事情交给按键精灵吧。今天我们就来录制一个自动登录博客,并对整个页面进行浏览的脚本。 首先,我们打开“按键精灵”。其运行界面如下(图1): 图1 运行界面 打开软件后点击工具栏上“新建”项(如图2);之后进入“脚本编译器”界面(如图3)。

按键精灵经典教程

按键精灵经典教程 一、键盘命令(2~5页) 二、鼠标命令(5~13页) 三、控制命令(13~22页) 四、颜色/图像命令(22~28页) 五、其他命令(28~355页)五、网游脚本实例(35~最后)

一、键盘命令 命令名称:GetLastKey 检测上次按键命令功能:检测上次按键 命令参数:参数1 整数型,可选:变量名 返回值:无 脚本例子:(8.x语法) 复制代码 1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次 按下的按键码保存在变量Key里。 2.Key=GetLastKey() 3.If Key = 13 Then 4. Msgbox "你上次按下了回车键" 5.End If 脚本例子:(7.x语法) 复制代码 1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次 按下的按键码保存在变量Key里。 2.GetLastKey Key 3.If Key = 13 4. Msgbox "你上次按下了回车键" 5.EndIf 命令名称:KeyDown 按住 命令功能:键盘按住 命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符) 参数2 整数型,次数 返回值:无 脚本例子:(8.x语法) 复制代码 1.//KeyDown、KeyDownS、KeyDownH 2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模

4.KeyDown 65,1 5.//65是A键的按键码,上面的语句表示按住A键1次 6. 7.KeyDown "A",1 8.//上面的支持按键字符,语句表示按住A键1次 脚本例子:(7.x语法) 复制代码 1.//KeyDown、KeyDownS、KeyDownH 2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模 拟方式的注意事项 4.KeyDown 65,1 5.//65是A键的按键码,上面的语句表示按住A键1次 命令名称:KeyPress 按键 命令功能:键盘按键 命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符) 参数2 整数型,次数 返回值:无 脚本例子:(8.x语法) 复制代码 1.//KeyPress、KeyPressS、KeyPressH 2.//KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyPressH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件 模拟方式的注意事项 4.KeyPress 65,1 5.//65是A键的按键码,上面的语句表示按A键1次 6. 7.KeyPress "A",1 8.//上面的支持按键字符,语句表示按A键1次 脚本例子:(7.x语法) 复制代码 1.//KeyPress、KeyPressS、KeyPressH 2.//KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyPressH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件

按键精灵教程:启动热键的设置技巧

按键精灵教程:启动热键的设置技巧 来源:按键学院【按键精灵】热键设置 启动热键:启动当前脚本 暂停/继续热键:暂停或继续当前脚本。(暂停之后再继续,是从脚本暂停的位置继续向下执行,而不是重新运行脚本) 中止热键:结束当前脚本。 全部中止热键:结束所有脚本。 热键可以设置为一个单一键,例如:F10、F11 也可以设置组合键,例如:ctrl+a、ctrl+b 还可以设置为鼠标键,例如:鼠标左键单击、右键单击等

单一键的设置 打开我们的脚本——>点击脚本属性 即可看到热键的设置界面 点击要修改的热键输入框 点击热键输入框之后,按下要设置的按键,例如:F7 设置方式十分简单,但是我们会发现,如果我们点击输入框按下enter键又或者是shift键时,不能成功的设置热键 要怎么解决呢?

要设置这些特殊键为启动热键时,我们可以点击热键输入框后面的倒三角红色按钮,然后点击键盘热键,选择我们需要的按键 组合键的设置 组合键的设置和单一键的设置方法是一样的 打开我们的脚本——>点击脚本属性 即可看到热键的设置界面 点击要修改的热键输入框 点击热键输入框之后,按下要设置的按键,例如:Ctrl+A 或者三个组合键:Ctrl+Alt+A 鼠标热键的设置 要设置鼠标键为热键,不能直接在热键输入框里点击鼠标键来设置 需要点击热键输入框后面的倒三角红色按钮,然后点击鼠标热键,选择我们需要的鼠标键

热键模式设置 当我们在一些游戏里,发现启动热键按了无效的时候。我们可以尝试更换热键模式再使用。我们可以理解为,每个游戏的机制不同,就像人一样,有的喜欢吃甜有的喜欢吃辣。而我们的热键模式就好比是:酸甜苦辣咸。 不喜欢酸就换成甜,不喜欢甜就换成辣,口味多样,总有一款适合你。 热键模式有五种: 普通模式:不占用热键原有功能,兼容性稍差 增强模式:兼容性最好,但占用热键原有功能 硬件模式:能解除屏蔽,只适用于win2000以上 软件模式:兼容性好,但可能被误报木马或病毒 共享模式:兼容性好,可适用大部分操作系统 设置方式: 1、点击设置按钮 2、点击热键,即跳转到热键模式的设置界面

按键精灵常用功能-详细解说

[命令]按键精灵常用功能-详细解说[1]-键盘动作 按键精灵常用功能-解说[版本5.0以上] 首先-启动按键精灵-看到主程序界面的“小灯泡”增加按钮了吗?点击它... 然后-这样就新建了一个脚本,并进入了脚本编辑器界面。(具体参见Qmacro基础资料https://www.360docs.net/doc/0f16025615.html,/cn/qmacro/) 按键精灵常用功能-详细解说[1]-键盘动作-4个功能 (1)单个按键的模拟-模拟键盘的单个按键动作,可以是按1下、按住不动、弹起来等3种形式,可以根据自己的需要,设定执行次数。 (2)按键组合的模拟-模拟按键组合,比如ctrl+shift+G之类的,但是不能G+H 这样子哦,那要需要的时候怎么模拟G+H呢?使用(1)功能-按下G,再按下H,就等于G+H了嘛~~~(不同步?哦,计算机的反映速度是很快的!) (3)脚本暂停按任意键继续功能-这里可以设置一个变量,用来表示可能是哪个按键,比如设置了变量key,当key这个变量变动的时候...比如key=49的时候,表示按1就能使脚本继续...那么怎么知道哪个数字对应是哪个按键?请看(4)的功能。 (4)得到按键码-在左边的空白输入一个按键,右边就显示出相应的按键码哦。有一些特殊的按键码是多少呢?可以去下载个ASCII码表看看。 举例:打开一个记事本,光标停空白处,按1下你设定的快捷键开始执行你设计的脚本... Rem rem只是注释语句,可以做标记或解释用途。 Rem rem这一行,不会有功能,比如:KeyPress 49 10 Rem 按1键10次,换行 KeyPress 49 10 KeyPress 13 1 Rem 按下1键不动,2秒后弹起,换行 KeyDown 49 1 Rem 延时2000毫秒 Delay 2000 KeyUp 49 1 KeyPress 13 1 Rem 按shift+1组合键,换行 KeyDown 16 1 KeyPress 49 1 KeyUp 16 1 KeyPress 13 1 Rem 提示后,等待任意键继续

按键精灵命令

WQM按键精灵插件说明书 1.插件简介 WQM按键精灵插件作为按键精灵的一个插件,为按键精灵提供对WQM的全方位的控制功能,同时也能够提供对WQM中网页的全面控制功能。 2.插件功能说明 WQM插件提供三类控制命令:WQM全局控制命令、WQM浏览控制命令、页面控制命令,后台键盘鼠标命令,后台找色命令,全局控制命令,JS扩展命令 2.1.全局控制命令 1)Bind(WQM进程名) 功能:绑定最后一个正在运行的WQM进程,如果没有找到就启动一个WQM进程并绑定 参数:WQM进程名 返回值:进程ID 2)Tips(字符串) 功能:在托盘区显示一个气泡提示信息; 参数:提示信息; 返回值:无 3)SetSize(窗口宽度,窗口高度) 功能:将WQM窗口设置为指定大小; 参数: 参数1:窗口宽度; 参数2:窗口高度; 返回值:无 4)Save(网页地址,保存的文件路径) 功能:将指定url保存为文件; 参数: 参数1:需要保存的网页地址; 参数2:需要保存的文件路径; 返回值:无 2.2.浏览控制命令 1)Go(网页地址) 功能:当前标签页打开Url指定的网页;此操作是一个阻塞操作,如果网页没有打开,脚本不能继续执行。如果超过全局超时设定,将导致脚本中止; 参数: 参数1:需要打开的网页地址 参数2 布尔型:是否强制从服务器读取,默认为读取页面,可能读取本地缓存。 返回值:无 2)Back() 功能:当前标签的网页浏览向后退, 参数:无; 返回值:无 3)Forward()

功能:当前标签页前进; 参数:无; 返回值:无 4)Refresh(指定是否强制刷) 功能:刷新当前标签页 参数:参数1:指定是否强制刷新当前标签页,0表示正常刷新,1表示强制刷新返回值:无 5)TabNew () 功能:在WQM中新建一个标签页,并跳转到该标签页上; 参数:无 返回值:无 6)TabGoto(标签页) 功能:跳转到WQM中指定需要的标签页上 参数:整数类型; 返回值:无 7)TabClose() 功能:关闭当前标签页 参数:无 返回值:无 8)ScrollTo(水平滚动条位置,垂直滚动条位置) 功能:将当前网页滚动到指定位置; 参数: 参数1:水平滚动条位置; 参数2:垂直滚动条位置; 返回值:无 9)ClearHistory() 功能:清除浏览器的历史记录,无需跳出确认对话框; 参数:无 返回值:无 10)ClearTemp() 功能:清空IE临时文件 参数:无 返回值:无 11)ClearCookie() 功能:清除IE所有的Cookie 参数:无 返回值:无 12)GetUrl() 功能:返回当前页面的URL地址 参数:无 返回值:字符串,当前页面的URL地址 2.3.页面控制命令 1)HtmlClick(网页元素特征串) 功能:点击网页中的按钮或链接,或者是其他元素,无ID请指定tag;

按键精灵学习教程

按键精灵学习教程 一、 1、子程序和函数调用演示 //<>---------------------------------------------子程序调用 Call 普通子程序() Call 代入参数的子程序(100,50) //<>---------------------------------------------函数调用 Msgbox 代入参数的函数(100,50) Sub 普通子程序() Msgbox "我是普通子程序,被调用了" End Sub Sub 代入参数的子程序(a,b) c=a+b Msgbox "我是代入参数的子程序,被调用了。结果值为:" & c End Sub Function 代入参数的函数(a,b) c=a*b 代入参数的函数= "我是代入参数的函数,被调用了。结果值为:" & c End Function 2、重启脚本运行演示 For i=0 to 2 Delay 1000 Call Plugin.Msg.ShowScrTXT(0, 0, 1024, 768, "屏幕内容填写" & i, "0000FF") Next RestartScript //重新启动脚本运行 3、中文名变量演示

//<>---------------------------------------------用户自定义变量支持中文名为变量名 UserVar 启动=DropList{"打开":1|"关闭":0}=0 "补血启动开关" UserVar 补血=0 "补血百分比%" //<>---------------------------------------------定义变量支持中文名为变量名 Dim 提示 提示="补血启动开关未设置打开!" If 启动=1 Then Msgbox "补血百分比为:"& 补血& "%" Else Msgbox 提示 End If 4、选择条件结构演示 UserVar 变量=0 "输入(0~9)数字" //<>---------------------------------------------以下是选择条件结结构判断 Select Case 变量 Case 0 Msgbox "你输入的数字为:0" Case 1 Msgbox "你输入的数字为:1" Case 2 Msgbox "你输入的数字为:2" Case 3 Msgbox "你输入的数字为:3" Case Else Msgbox "你输入的数字不正确,请输入(0~3)数字!" End Select 5、下拉型用户自定义 //说明:{}当中是下拉的选项=0是指的默认显示哪个选项(从0开始) UserVar Var1=DropList{"低于10%时补血":"0.1"|"低于20%时补血":"0.2"|"低于30%时补血":"0.3"}=2 "自动补血设置" UserVar Var2=0 "普通自定义变量" MessageBox(Var1) MessageBox(Var2) 6、退出脚本运行演示

按键精灵自动化办公插件

按键精灵自动化办公插件 来源:按键学院【按键精灵】“圣诞快乐~~” 在小编的印象里,圣诞节一般都是呵气成霜的日子。今年不一样哈,圣诞节天气还是十分暖和的。不知道童鞋们的城市是不是有在下雪,小编已经好久没有看见过雪花了~ 圣诞感言就到这里。今天小编要和大家分享的是一款办公插件。 懒人办公插件 在之前的院刊中,也分享过懒人办公插件。想必有不少童鞋都有使用过。 那么,是什么原因让小编忍不住再次要分享这个插件呢? 近期,懒人插件作者lxj1985 再次更新了插件,更新之后的插件更加给力,让小编忍不住想要分享给大家。 懒人插件更新内容 1、完善了EXCEL表格处理功能。 2、WORD类的处理功能重新编写,使其更适用于使用者。 3、ACCESS类不光可以操作ACCESS,还能对其他类别的数据库进行一定程度的操作。

4、编写了一份详细的的帮助文档,不光是在编程中用的上,在手动办公的过程中也能用的上这份帮助文档。 帮助文档的内容,作者大大写得非常的详细,每个命令的使用都附有例子说明: 使用方法 【调用懒人插件的方式有两种】 方法1: 1、将插件dll文件放在按键精灵安装目录下的plugin文件夹中。 2、打开按键精灵即可在按键精灵的插件命令中,找到新增的懒人插件命令,选择命令即可使用。

方法2: 如果插件(LazyOffice.dll)放在c:\test目录,使用以下代码对插件进行注册: Set ws = CreateObject("Wscript.Shell") ws.run "regsvr32 c:\test\LazyOffice.dll /s" 然后创建对象: //主脚本中使用插件命令,在脚本起始位置创建一次对象即可,如果有多开线程或者在控件事件中使用命令,则需在线程中控件事件中再次创建对象。 Set LazyExcel= CreateObject("Lazy.LxjExcel")//使用excel功能要创建的对象 Set LazyWord= CreateObject("Lazy.LxjWord")//使用word功能要创建的对象 Set LazyAccess= CreateObject("Lazy.LxjAccess")//使用Access功能要创建的对象 注意:帮助文档中的命令说明示例,是以第二种注册插件创建对象的方法。 第一种方法和第二种方法,代码上书写上的区别: Call https://www.360docs.net/doc/0f16025615.html,zyOffice.ExcelWrite(参数1,参数2,参数3,参数4,参数5)//第一种方法 Call 对象名.ExcelWrite(参数1,参数2,参数3,参数4,参数5)//第二种方法 单元格列名形式转换 ●○有的命令是以A1,A2 这样的形式来指定需要操作的区域,例如修改表格背景色的命令:Call LazyExcel.ExcelRange(1,"A1:D5","背景颜色",6,Index)

相关文档
最新文档