按键精灵插件帮助

按键精灵插件帮助
按键精灵插件帮助

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的整数变量。第二句的意思,我们来解析一下:

小结一下,我们的插件名字叫String.dll,里面提供一个命令,名叫StrLen,这个命令接受一个字符串作为参数,返回一个整数值,含义是得到字符串的长度。

OK,下面我们把按键精灵提供的插件模板(在XXX路径下)复制一份,然后在它的基础上进行修改。

2.2.编写插件的简介、插件命令和插件命令的简介

按键精灵提供的插件模板是一个Visual C++ project,我们用Visual C++ 6.0打开这个project。这个project里面包含了好几个文件,实际上我们只需要修改QMPlugin.cpp这一个文件,其他文件您都可以不用去管。

用Visual C++打开QMPlugin.cpp文件,在文件开头找到这样一行:

extern char *g_lpszPluginDescription = "这是一个插件的模板";

这个字符串定义了插件的简介,我们把它改成:

extern char *g_lpszPluginDescription = "这是我的字符串处理插件";

再找到QMPlugin.cpp文件最后,有类似于这样的内容:

QMPLUGIN_CMD_INFO g_CommandTable[] =

{

"Test1","测试1",Test1Handler,

"Test2","测试2",Test2Handler,

};

懂一点C语言的朋友应该知道这是一个结构数组,如果您不懂也没有关系,请注意花括号中间的两行,每一行代表了这个插件的一个命令。插件模板这里已经写了两个命令,其实仅仅是作为示范,没有用处,您可以把这两个命令都删掉,然后用自己定义的命令代替。花括号中间的内容可以看作是一个表格,我们称为“插件命令表”。

每一行从左到右由三个部分组成,第一部分是这个插件命令的名称,第二部分是这个插件命令的简要解释,第三部分我们暂时不管,后面再讲。

我们的字符串处理插件目前只有一个命令 StrLen,所以把代码改成:

QMPLUGIN_CMD_INFO g_CommandTable[] =

{

"StrLen","得到字符串的长度",Test1Handler,

};

第三部分我们还没有讲,所以暂时先填写一个Test1Handler,一会再回头改。

2.3.最基本的插件命令处理函数

当按键精灵用户调用我们的StrLen命令的时候,我们需要写一段代码来处理这个命令,并且给按键精灵返回字符串的长度。具体的说,对于每个命令,我们都需要写一个对应的C 语言函数来处理用户对这个命令的调用。不管这个命令有几个参数,返回值是什么类型,我们的C语言函数总是这个样子:

int XXXX(char *lpszParamList, char *lpszRetVal)

上面的XXXX是这个函数的名字,随便起什么名字都可以,只要别重名就好。注意,除了函数的名字可以改,其他的地方最好都不要改。

比如我们的StrLen命令,假如它对应的函数叫MyStrLenHandler,那么请在QMPlugin.cpp中增加这样一个函数:

int MyStrLenHandler(char *lpszParamList, char *lpszRetVal)

{

return 0;

}

我们来看这个函数,它有两个参数lpszParamList和lpszRetVal,返回值是整数。lpszParamList中存放了按键精灵传过来的字符串(比如前面例子中的“hello, world”这个字符串就会保存在这里),而返回值就是我们要告诉按键精灵的,这个字符串的长度。lpszRetVal暂时还用不上,先不要动它。

了解C语言的朋友都知道在C语言中要得到一个字符串的长度是很容易的,如下:int MyStrLenHandler(char *lpszParamList, char *lpszRetVal)

{

return strlen(lpszParamList);

}

插件处理函数就写完了,很简单吧?现在,我们还需要在StrLen这个插件命令和MyStrLenHandler这个命令处理函数之间建立起关联关系。上一节中提到,我们是这样在插件命令表中定义StrLen命令的:

"StrLen","得到字符串的长度",Test1Handler,

前两部分分别代表插件命令的名称和插件命令的简要解释,第三部分,就是这个插件命令的处理函数。也就是说,我们需要改成:

"StrLen","得到字符串的长度", MyStrLenHandler,

现在,StrLen命令就和MyStrLenHandler函数关联起来了。

到此为止,我们已经编写了一个最简单的插件。不妨用Visual C++编译这个project,把生成的DLL文件改名为String.dll,然后放在按键精灵的plugin目录下。启动按键精灵,运行这样一个简单的按键精灵脚本:

Dim length as integer

Plugin length=String.StrLen(“Hello, world”)

VBSCall MessageBox(CStr(length))

这个脚本会弹出一个对话框,对话框里面的数字就是“Hello, world”这个字符串的长度。

2.4.返回值为字符串的插件命令

下面我们为String这个插件再增加一个命令,名字叫StrRev,这个命令接受一个字符串作为参数,返回值是把参数中字符串的内容倒置,比如把”hello”变成”olleh”。和StrLen不同的是,它的返回值不是整数,而是一个字符串。

不管怎么样,我们都需要为这个命令建立一个处理函数,假如这个处理函数名字叫MyStrRevHandler,这个函数的原型必须是:

int MyStrRevHandler(char *lpszParamList, char *lpszRetVal)

可是,我们希望在这个函数里面返回一个字符串,应该如何处理呢?按键精灵规定:如果lpszRetVal的内容被命令处理函数修改过,则忽略命令处理函数返回的整数值,认为这个命令处理函数返回的是lpszRetVal这个字符串。

也就是说,如果我们把按键精灵传来的字符串倒置后,只要复制到lpszRetVal指向的字符串中,导致lpszRetVal发生了修改,则这个命令的返回值就被认为是lpszRetVal。

那么,我们的MyStrRevHandler处理函数应该这样编写:

int MyStrRevHandler(char *lpszParamList, char *lpszRetVal)

{

strcpy(lpszRetVal, _strrev(lpszParamList));

return 0;

}

我们首先调用C语言标准库函数_strrev把字符串lpszParamList(也就是按键精灵传来的字符串)倒置,然后调用C语言标准库函数strcpy把倒置后的结果复制到lpszRetVal 中。

最后,StrRev这个命令同样需要记录在插件命令表中,现在我们的插件命令表变成:QMPLUGIN_CMD_INFO g_CommandTable[] =

{

"StrLen","得到字符串的长度", MyStrLenHandler,

"StrRev","倒置一个字符串", MyStrRevHandler ,

};

编译一下,现在我们的String插件就包含两条命令了!

2.5.包含不止一个参数的插件命令

下面我们为String这个插件再增加一个命令,名字叫StrCmp,这个命令接受两个字符串,并比较这两个字符串的内容,如果相同就返回0,否则返回非0。

我们给这个命令的处理函数起名为MyStrCmpHandler。同样的,它的原型必须是:int MyStrCmpHandler(char *lpszParamList, char *lpszRetVal)

不同的是,往常我们的命令只有一个参数,而这里有两个参数。按键精灵会把两个参数都放在lpszParamList,中间用逗号分隔。所以,我们必须把这两个参数从lpszParamList拆分出来。怎么拆分?我不反对您自己写代码,但是插件模板中已经为您提供了一个函数,名叫ParseParam。这个函数的参数是多个字符串,其中第一个是输入,后面的都是输出。它的作用是把第一个参数代表的字符串以逗号为界,拆成多个字符串,然

后分别存放在第二个,第三个参数中。

举例来说,对于插件命令StrCmp,我们应该这样写处理函数:

int MyStrCmpHandler(char *lpszParamList, char *lpszRetVal)

{

char lpszString1[1024], lpszString2[1024];

ParseParam(lpszParamList, lpszString1, lpszString2);

return strcmp(lpszString1, lpszString2);

}

在上面的命令处理函数中,由于StrCmp命令需要返回一个整数,所以lpszRetVal 我们就不要动了。我们自己定义了两个字符串变量(字符数组)lpszString1和lpszString2,两个字符串的最大长度都是1024(估计应该是够了吧,如果您还觉得不够,再增加一些也没有问题)。接下来调用ParseParam函数,把lpszParamList拆成两个参数,分别存放在lpszString1和lpszString2中。然后再调用C语言标准库函数strcmp比较这两个字符串。

如果您有兴趣,可以在插件模板的源代码中看看ParseParam是如何实现的。事实上,ParseParam的实现非常简单,以至于安全性和可靠性都不好。比如前面的例子中,如果lpszString1里面要存放的字符串长度超过了1024,就会出大麻烦。熟悉C语言的朋友肯定会批评我们的写法,不过在多数情况下它还是很好用的。

和前面一样,StrCmp这个命令也需要在插件命令表里面登记,这里我们就不多说了。

2.6.数字签名

一般来说,您编写的插件只要编译成一个DLL文件,并且放在按键精灵所在路径的plugin文件夹下,就可以马上使用了。但是这样的插件在按键精灵中会弹出一个警告,如下图所示:

因为您的插件是用Visual C++编写的,Visual C++的强大功能使得您的插件完全可以包含任何您可以想象的内容。当然也不排除有个别心术不正的人利用这个功能,把病毒、木马等有害程序打包到插件中,然后交给别人使用。

如果您编写的插件只是给自己用,那么完全可以不必理会上面的警告,它不会影响到插件的任何功能。如果您想把编写的插件给别人共享,那么最好的办法是把您的插件交给我们进行认证,我们会帮您加入数字签名,还会帮您把插件放在按键精灵网站、论坛上,甚至是捆绑到按键精灵中进行推广和交流。

2.7.了解更多?

目前为止,我们已经学习了按键精灵插件的编写方法,确实不难吧?如果您希望熟悉巩

固一下上面的内容,我们为您提供了按键精灵5.90版本以上自带的File.dll插件的全部源代码。下载回来研究一下吧,如果有不理解的地方,欢迎您给我们发邮件垂询。

3.如何使用一个插件

3.1.基本操作

您可能暂时不会用Visual C++,或者不想自己编写插件。但您只需要会用按键精灵写脚本,就可以享受别人的插件带来的强大功能。目前按键精灵已经在软件安装包中捆绑了三个官方开发的插件:File.dll用于一些文件相关的操作,Window.dll用于一些窗口相关的操作,还有GetSysInfo.dll用于获取一些常用的系统信息。我们还会陆续增加其他功能的插件,也会对目前的插件进行功能扩充。

下面我们以File.dll为例,讲述如何使用这个插件。

打开按键精灵(版本为5.90以上),新建一个脚本,在脚本编辑器的左边展开“插件命令”的面板(如果上述内容你不能理解,那么你需要先学习一下按键精灵的基本用法,真的很简单!)。在“选择插件”的下拉框中找到“File:文件操作的插件”这一项并选中,然后展开“选择插件命令”的下拉框。即可看到如下图所示的界面。

下面的下拉框中的内容就是File.dll插件提供的全部插件命令,每个命令都可以完成一个和文件操作相关的功能。比如CopyFile命令可以复制一个文件,DeleteFile命令可以删除一个文件等。

3.2.使用有返回值的插件命令

我们来试着使用一个命令,以SelectFile为例。请在“选择插件命令”下面的下拉框中选中SelectFile,您也许会发现下拉框太窄了导致里面的文字显示不全。没关系,把鼠标在下拉框停留一下,就会弹出完整的提示,如下所示:

前面的英文部分是这个命令的名称,后面是它的中文简介。我们从这个简介中可以看出:1、如果要使用这个命令,您不需要写任何调用参数;2、您需要定义一个变量来接收返回值(类似于高级语言的函数返回值的概念)。那么我们首先定义一个变量(其实VBScript中不定义变量也可以的,但是定义变量是一个良好的习惯),假如变量名为filepath。

把这个变量名填写在下面“返回值”后面的输入框中,然后点击“插入”按钮,一条命令就插入到按键精灵的脚本中了。如图所示:

运行这个脚本,会弹出选择文件的对话框,当选择完毕后,被选中的文件全路径会保存在变量filepath中。

3.3.使用有参数的插件命令

下面我们再试试另外一个插件命令,如CopyFile。同样,先在“选择插件命令”下面的下拉框中选中“CopyFile”,鼠标在下拉框停留一下,查看详细的中文说明。

从说明中可以看出,这个命令没有返回值,但是有两个调用参数,分别是要复制的文件和要复制的目标文件。我们在“调用参数”后面的编辑框里分别输入这两个参数,参数之间用逗号分隔,比如输入”c:\1.txt”,”c:\2.txt”。注意字符串常量应该用引号括起来。然后点击“插

入”按钮。

在运行这个脚本前,先在C盘根目录下建立一个文件,名叫1.txt,内容随意。然后运行脚本,可以看到生成了一个一模一样的2.txt。

3.4.在脚本源文件中写插件命令

如果您了解按键精灵,一定知道按键精灵还提供了脚本源文件直接编辑的功能。我们看看调用CopyFile命令时的脚本源文件,如图:

最前面蓝色的Plugin关键字表示这一行是一个插件命令调用。后面的File表示调用的是File.dll插件,File后面用圆点隔开的是插件命令的名称,以及调用参数。如果您熟悉了这种写法,其实直接写脚本源文件速度更顺手一些,当然使用的效果是一样的。

下面我们来用脚本源文件编辑方式,写一个稍微复杂一点的调用插件的脚本。您可以把下面的内容全部粘贴在您的脚本编辑器中。

运行这个脚本,再看看C盘的根目录下是不是有一个叫1.txt的文件。这个脚本使用了打开文件,往文件里面写一行内容、关闭文件等三个插件命令,这三个插件命令组合起来完成了写文件的功能。

3.5.在按键小精灵中使用插件

按键小精灵是由按键精灵生成的一个独立的程序。普通的按键小精灵是不包含任何插件的(连按键精灵官方提供的插件也不包含),如果要在按键小精灵中使用插件,您可以使用“附件”功能先把插件打包到您的脚本中。

打开按键精灵的脚本编辑器,在右上方区域里面找到“附件”按钮并点击,出现如图所示的对话框:

点击“添加”按钮,把您需要用的插件都放在脚本附件里,或者直接把插件的DLL文件拖到这个对话框里,然后选择“保存”。

在脚本的第一行,写一句这样的语句:

PutAttachment .\plugin

这句话的意思是把当前脚本中的附件都展开到按键小精灵所在路径的plugin文件夹下。接下来,您就可以像按键精灵一样使用插件命令了。

4.按键精灵官方插件详解

4.1.GetSysinfo.dll插件

命令名:GetOSType

作用:获取当前操作系统类型

参数:无

返回值:整数型。Win98系统返回为0;WinNT/2000/XP返回为1

命令:GetColorDep

作用:获取当前屏幕色深度(颜色质量)

参数:无

返回值:整数型。返回当前屏幕的色深度(颜色质量),一般为4,8,16,24或32。

命令:GetTime

作用:得到系统启动到目前的时间

参数:无

返回值:整数型。以毫秒表示的系统启动到目前的时间。

说明:一般用两次调用GetTime命令的结果相减,可以得到两次调用的时间差。

命令:GetDateTime

作用:得到当前系统日期和时间

参数:无

返回值:字符串型。返回当前系统日期和时间,如“2006-05-20 15:27:31”

命令:GetHDDSerialNumber

作用:得到硬盘第一个分区的序列号

参数:无

返回值:整数型。返回硬盘第一个分区的序列号。

4.2.Window.dll插件

命令名:MousePoint

作用:得到当前鼠标指向的窗口

参数:无

返回值:整数型。当前鼠标指向的窗口的窗口句柄

命令名:Foreground

作用:得到目前位于前台的窗口

参数:无

返回值:整数型。当前位于前台的窗口的窗口句柄

命令名:Find

作用:根据一个窗口类名或一个窗口标题名,找到一个匹配的窗口

参数:○1窗口类名,字符串型○2窗口标题名,字符串型

返回值:整数型。第一个匹配的窗口的窗口句柄

说明:窗口类名和窗口标题名中可以有一个是空字符串(不能两个同时为空字符串)

命令名:FindEx

作用:指定父窗口或者兄弟窗口,根据一个窗口类名或一个窗口标题名,找到匹配的窗口参数:○1父窗口的句柄,整数型。为0表示不限制父窗口○2兄弟窗口的句柄,整数型。为0表示不限制兄弟窗口○3窗口类名,字符串型○4窗口标题名,字符串型

返回值:整数型。第一个匹配的窗口的窗口句柄

命令名:IsWindow

作用:判断指定窗口是否存在

参数:整数型。指定的窗口句柄

返回值:整数型。返回值为0表示该窗口不存在,为1表示该窗口存在。

命令名:GetText

作用:得到指定窗口的标题

参数:整数型。指定的窗口句柄

返回值:字符串型。返回指定窗口的标题。

命令名:GetClass

作用:得到指定窗口的窗口类名称

参数:整数型。指定的窗口句柄

返回值:字符串型。返回指定窗口的窗口类名。

命令名:GetExePath

作用:得到指定窗口所属的程序路径

参数:整数型。指定的窗口句柄

返回值:字符串型。返回指定窗口所属的程序的全路径。

命令名:GetClientRect

作用:得到指定窗口的边框大小

参数:整数型。指定的窗口句柄

返回值:字符串型。返回指定窗口的窗口边框大小,格式类似于x1|y1|x2|y2。其中x1、y1、x2、y2分别为窗口左上点和右下点的坐标。

命令名:Active

作用:激活指定的窗口

参数:整数型。指定的窗口句柄

返回值:无

命令名:Max

作用:最大化指定的窗口

参数:整数型。指定的窗口句柄

返回值:无

命令名:Min

作用:最小化指定的窗口

参数:整数型。指定的窗口句柄

返回值:无

命令名:Restore

作用:恢复指定的窗口的原始大小

参数:整数型。指定的窗口句柄

返回值:无

命令名:Move

作用:移动指定的窗口,使左上角移到指定的坐标

参数:○1指定窗口的句柄,整数型。○2○3分别为指定的x和y坐标,整数型

返回值:无

命令名:Close

作用:关闭指定的窗口

参数:整数型。指定的窗口句柄

返回值:无

4.3.File.dll插件

命令名:ExistFile

作用:判断文件或文件夹是否存在

参数:字符串型。要判断的文件或者文件夹的全路径

返回值:整数型。返回值为0表示文件或文件夹不存在;返回值为1表示存在该文件,返回值为2表示存在该文件夹

命令名:SelectDirectory

作用:弹出选择文件夹的对话框,并得到用户选择的文件夹

参数:无

返回值:字符串型。返回用户所选择的文件夹的全路径

命令名:SelectFile

作用:弹出选择文件的对话框,并得到用户选择的文件

参数:无

返回值:字符串型。返回用户所选择的文件的全路径

命令名:CopyFile

作用:复制一个文件

参数:○1字符串型,要复制的文件的全路径○2字符串型,要复制的目标文件的全路径

返回值:无

命令名:MoveFile

作用:移动一个文件

参数:○1字符串型,要移动的文件的全路径○2字符串型,要移动的目标文件的全路径

返回值:无

说明:用这个命令,也可以给文件改名

命令名:DeleteFile

作用:删除一个文件

参数:字符串型,要删除的文件的全路径

返回值:无

命令名:ReadINI

作用:从一个INI文件中读出一个字符串

参数:○1要读的小节的名称。一般在INI文件中用方括号括起来○2要读的键名。如x=123,等号前面的部分就是键名○3INI文件的路径

返回值:字符串型。读出的指定小节和键下面的内容

命令名:WriteINI

作用:往一个INI文件中写入一个字符串

参数:○1要写的小节的名称。一般在INI文件中用方括号括起来○2要写的键名。如x=123,等号前面的部分就是键名○3要写的内容,用字符串表示○4INI文件的路径

返回值:无

命令名:OpenFile

作用:打开一个文件,以备读写使用

参数:字符串型。表示要打开的文件的全路径

返回值:整数型。返回值为-1表示打开文件失败,否则返回文件的句柄

命令名:CloseFile

作用:关闭一个已经打开的文件。文件关闭后,其句柄不再有效

参数:整数型。表示要关闭的文件的句柄

返回值:无

命令名:ReadFile

作用:从文件当前的读写位置读取一定长度的内容

参数:○1整数型。表示要读取的文件的句柄○2整数型,表示要读取的长度

返回值:字符串型,读出的内容。

命令名:ReadLine

作用:从文件当前的读写位置读一行内容

参数:整数型,要读取的文件的句柄

返回值:字符串型,读出的内容。

命令名:WriteFile

作用:往文件当前读写位置写入一个字符串

参数:○1整数型。表示要写入的文件的句柄○2字符串型,表示要写入的内容

返回值:无

命令名:WriteLine

作用:同WriteFile,但会多写入一个回车换行符号

参数:同WriteFile

返回值:无

命令名:SeekFile

作用:设置文件的当前读写位置

参数:○1整数型。表示要进行操作的文件的句柄○2整数型,表示要设置的读写位置,以相对于文件头的字节数计算

返回值:无

命令名:GetFileLength

作用:得到文件的长度

参数:整数型。表示要进行操作的文件的句柄

返回值:整数型。表示文件的长度。

按键精灵插件使用说明

函数说明: 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());

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

目录 插件命令面板 - 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--6级答案

以下哪一个不是按键精灵的产品按键箱子录制的脚本没有以下哪个功能记录鼠标特征码下列哪一个命令不属于"全部命令" 内核命令按键精灵自带的抓图工具是按键抓抓哪一种方法能够找到命令的帮助说明在全部命令中搜索命令, 点击后帮助说明会出现在编辑器下方. 按键精灵不可以在以下哪个系统中使用Linux 可以使用神盾功能的程序是小精灵商业版旧版本的脚本导入到新版本中, 以下哪种方法不可以纠正语法错误使用"自动缩进"功能? WaitClick 命令的含义是按任意鼠标键继续? 哪一类脚本程序是按键精灵官方授予销售权的小精灵商业版只要在编辑脚本,切换输入法时,按键精灵就卡住了, 可能是下列哪一个原因Plugin 目录下装有不是官方提供的插件引起的关于加密脚本的描述,下列是错误的是只有会员输入密码可以解开加密脚本GetLastClick 命令的含义是检测上次按过的鼠标键按键精灵生成的小精灵程序的后缀名是EXE 按键精灵会员不能享受的论坛权限是可以访问按键精灵“版版家园”专区享受版主资源网页按键精灵是下列哪一个程序wqm.exe 按键精灵的产品包括以下哪一个按键盒子按键精灵是下列哪一个程序按键精灵9.exe 按键精灵会员卡注册码,没有以下哪一种天卡(1 天) UnlockMouse 命令的含义是解除锁定鼠标位置? 按键精灵会员不能享受的资源是免费小精灵的源代码RightUp 命令的含义是右键弹起按键精灵的功能不包括自动发明汽车、飞机、火箭等机器按键精灵能兼容下列哪一种语言VBS 不能用抓抓工具直接获取的是PID 关于按键精灵的描述,以下正确的是按键精灵是一款绿色的模拟键盘鼠标操作的软件? 脚本编辑界面上没有的按钮是启动? 与取色判断命令没有直接关系的参数是按键码以下哪种方式可以在脚本编辑界面中获取到新的插件点击"资源库"按钮, 然后 导入需要的插件 LeftClick 命令的含义是左键单击按键精灵官方网站的网址是 RestoreMousePos命令的含义是恢复上次保存的鼠标位置如果按键精灵在某些环境失效, 可以使用下列哪个工具神盾SaveMousePo命令的含义是保存当前鼠标所在位置GetCursorPos 命令的含义是得到鼠标位置坐标键盘命令的类型不包括锁定按键精灵里运算符乘号是* KeyPress 命令的含义是按键 MiddleClick 命令的含义是中键单击 LockMouse命令的含义是锁定鼠标位置按键精灵会员不能享受的功能是脚本编写服务GetCursorShape 命令的含义是得到鼠标形状按键精灵自带的用户界面叫做什么QUI 界面RightClick 命令的含义是右键单击按键精灵里运算符减号是- 按键精灵默认的启动热键是F10 属于"全部命令"的是我的命令库“录制”功能不能录制的内容是记录鼠标指向的窗口句柄按键抓抓是下列哪一个程序picker.exe 想要知道脚本是否存在错误, 应该使用下列哪个功能调试以下哪种方式不可以获得论坛银币发布大量无内容的主题贴按键精灵里运算符除号是/ 按键精灵会员不能享受的技术支持是 技术人员上门服务按键精灵自带的功能不包括以下哪一个路由功能 GetLastKey命令在获取一次ANSI字符代码后继续循环执行返回值是?0 变量的定义,以下哪个是正确的dim a 下列哪一种方法不能够正确输入命令鼠标右键单击命令按键精灵的功能是?模拟鼠标键盘操作的工具? MoveF命令的含义是相对移动关于小精灵去广告的描述,下列正确的是会员用户在“制作按键小精灵”界面上->更多设置->选择会员去广告(是)即可? 按键精灵里运算符加号是+ 对小精灵的描述,以下是正确的按键小精灵是把按键精

按键精灵插件帮助

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的整数变量。第二句的意思,我们来解析一下:

按键精灵教程

变量!神奇的小柜子 变量就是会变化的量。就像一个小柜子,我们可以在柜子里装载不同的东西,而当我们需要找到这些东西的时候,只要记住柜子的名字就可以了。 使用变量的方法是:先定义(给柜子起名)、再赋值(将物品放进柜子)、最后使用(根据柜子名字找到放在其中的物品)。 使用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

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

大漠插件后台找图、自动获取坐标窗口句柄鼠标多点左单击 脚本 一、准备工作 第一步:下载大漠插件、解压,运行“注册大漠插件到系统.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

学会用按键精灵制作用脚本运行可执行程序

学会用按键精灵制作脚本之RunApp 运行命令教程: 用脚本运行可执行程序 来源:按键学院【按键精灵】Runapp命令,看上去是不是觉得so easy ?不就是runapp 某个程序的路径,然后就可以打开这个程序了吗?老话怎么说来着,越简单的东西越是不简单。Runapp使用起来也是处处暗藏杀机滴。 Runapp命令是个啥? 命令名称RunApp 运行 命令功能启动一个程序或者打开一个文件 命令参数参数1 字符串型,要运行的程序或者文件 重头杀机——你所要启动的程序是带参数的,runapp 不支持启动带参数的程序。 首先,我们可以使用进程查看工具,查看下我们要启动的程序是否是带有参数的。

然后,我们打开进程查看工具,然后点击我们要查看的程序,例如QQ程序。 图1的是QQ的快捷键方式属性;图2是进程工具查看到的QQ程序信息;图3是进程工具界面如果是带有参数的程序,用进程工具打开之后,弹出的图2界面,在程序路径后面会出现参数。 例如:F:\桌面\程序目录\Not.exe $-fl$ 解决方法之一: 1. 鼠标右键,创建快捷方式 1)右击创建好的快捷方式——>属性: 2)“目标内容”填写目标文件路径及参数: 3)F:\桌面\程序目录\Not.exe $-fl$

4)“起始位置”填写目标文件夹: 5)F:\桌面\程序目录 (用进程查看工具查看,有的情况下会发现,程序所在的位置并不是程序的目录,这里要注意确认,一定要填写程序的其实位置,程序所在的目标文件夹的位置) 如图所示: 2. 使用RunApp启动这个快捷方式,例如在此快捷方式在桌面时。 Call RunApp("C:\Users\Death\Desktop\Not.exe.lnk") 经过上面的两步就可以达到预想的目的了。 解决方法之二:

按键精灵命令

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;

按键精灵自动化办公插件

按键精灵自动化办公插件 来源:按键学院【按键精灵】“圣诞快乐~~” 在小编的印象里,圣诞节一般都是呵气成霜的日子。今年不一样哈,圣诞节天气还是十分暖和的。不知道童鞋们的城市是不是有在下雪,小编已经好久没有看见过雪花了~ 圣诞感言就到这里。今天小编要和大家分享的是一款办公插件。 懒人办公插件 在之前的院刊中,也分享过懒人办公插件。想必有不少童鞋都有使用过。 那么,是什么原因让小编忍不住再次要分享这个插件呢? 近期,懒人插件作者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/1f10602591.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)

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

[命令]按键精灵常用功能-详细解说[1]-键盘动作 按键精灵常用功能-解说[版本5.0以上] 首先-启动按键精灵-看到主程序界面的“小灯泡”增加按钮了吗?点击它... 然后-这样就新建了一个脚本,并进入了脚本编辑器界面。(具体参见Qmacro基础资料https://www.360docs.net/doc/1f10602591.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 提示后,等待任意键继续

按键精灵1--6级答案

以下哪一个不是按键精灵的产品? 按键箱子 录制的脚本没有以下哪个功能? 记录鼠标特征码 下列哪一个命令不属于"全部命令"? 内核命令 按键精灵自带的抓图工具是? 按键抓抓 哪一种方法能够找到命令的帮助说明? 在全部命令中搜索命令,点击后帮助说明会出现在编辑器下方. 按键精灵不可以在以下哪个系统中使用? Linux 可以使用神盾功能的程序是? 小精灵商业版 旧版本的脚本导入到新版本中,以下哪种方法不可以纠正语法错误? 使用"自动缩进"功能 WaitClick命令的含义是? 按任意鼠标键继续 哪一类脚本程序是按键精灵官方授予销售权的? 小精灵商业版 只要在编辑脚本,切换输入法时,按键精灵就卡住了,可能是下列哪一个原因? Plugin目录下装有不是官方提供的插件引起的 关于加密脚本的描述,下列是错误的是? 只有会员输入密码可以解开加密脚本GetLastClick命令的含义是? 检测上次按过的鼠标键 按键精灵生成的小精灵程序的后缀名是? EXE 按键精灵会员不能享受的论坛权限是? 可以访问按键精灵“版版家园”专区享受版主资源 网页按键精灵是下列哪一个程序? wqm.exe 按键精灵的产品包括以下哪一个? 按键盒子 按键精灵是下列哪一个程序? 按键精灵9.exe 按键精灵会员卡注册码,没有以下哪一种? 天卡(1天) UnlockMouse命令的含义是? 解除锁定鼠标位置 按键精灵会员不能享受的资源是? 免费小精灵的源代码 RightUp命令的含义是? 右键弹起 按键精灵的功能不包括? 自动发明汽车、飞机、火箭等机器 按键精灵能兼容下列哪一种语言? VBS 不能用抓抓工具直接获取的是? PID 关于按键精灵的描述,以下正确的是? 按键精灵是一款绿色的模拟键盘鼠标操作的软件 脚本编辑界面上没有的按钮是?启动 与取色判断命令没有直接关系的参数是? 按键码 以下哪种方式可以在脚本编辑界面中获取到新的插件? 点击"资源库"按钮,然后导入需要的插件 LeftClick命令的含义是? 左键单击 按键精灵官方网站的网址是? https://www.360docs.net/doc/1f10602591.html,/ RestoreMousePos命令的含义是? 恢复上次保存的鼠标位置 如果按键精灵在某些环境失效,可以使用下列哪个工具? 神盾 SaveMousePos命令的含义是? 保存当前鼠标所在位置 GetCursorPos命令的含义是? 得到鼠标位置坐标 键盘命令的类型不包括? 锁定 按键精灵里运算符乘号是? *

按键精灵选项卡的使用

按键精灵选项卡的使用 一、选项卡介绍 (1)创建选项 QUI的选项卡其实就是一个分页功能的控件和VB的SSTab控件的功能是一样的。 二、选项卡的属性 选项卡总共有11个属性,包含4个基本属性和5个位置属性,2个其他属性。 基本属性分别是:名称(Name)、显示(Visable)、有效(Enabled)、自定义。 位置属性分别是:左边(Left)、上边(Top)、宽度(Width)、高度(Height)、显示顺序(ZOrder)。 其他属性:字体、初始选项(Tab)。 三、选项页的使用 (1)创建选项 1.先创建一个选项TabControl1。

选项卡创建后默认有两个选项,分别是“选项页1”,“选项页2”。那我人如何来改变选项卡的数量和名称? 2.点击属性栏上的【自定义】的更多选项设置后面的三个小点点。 点击完成后就可以看到“选项卡控件设置页面”了。 在这里可以通过页面上面的“增加”、“删除”、“上移”、“下移”来控制标签页的数量和顺序,也可以双击标签名然后修改标签的名称。 3.点击增加,新增一个标签。默认名称是“选项页3”。后面增加的标签名称为“选项页4”,以此累加上去。

4.也可以删除标签,比如删除“选项页2”。或者是把“选项页3”移动到最顶端。 5.在标签页设置界面修改的时候,窗体上的标签页是不会改变的。如果想让它确实产生效果,修改完成后,点击界面下方的【确定】。 然后就可以看到窗体上的标签页按照我们修改的发生了变化。 以上就是修改标签页里面标签内容的方法了。

那它是否像我们之前所说的,能够达到分页的效果? 6.先选择"Tab3"。然后在"Tab3"中创建一个按钮。 创建完成后,再点击"Tab1",会看到Button1其实已经看不到了。 那在运行的时候是不是也是这样子的? 7.设置QUI为脚本界面,设置标签页的初始选项为0。也就是从左边数起第一个标签,也可以设置成1,这个下标的上限为当前标签页的标签数量。 然后保存脚本,进入调试,显示界面。 点击"Tab3","Tab1"。如果不出意外,看到的情况跟在编辑的时候是一样的。 (2)复制/剪贴/粘贴 既然分页里面可以创建控件,那可以把现成的控件直接拖到分页里面去?答案当然是否定的。 那有什么方法可以把已经创建好的控件拖到分页里面去? 最最常用的方法就是把控件剪贴,然后选择某一个标签页再粘贴进去。 粘贴成功后,这个控件就在会在这个标签的左上角。 比如,我们把一个输入框粘贴到其他中一个标签当中,粘贴后默认放在标签的左上角,然后再拖到我们想要放的那个位置去。

按键精灵命令大全

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

(完整版)按键精灵常用脚本命令汇集

//~~~~~~~~~~{[做后台的准备]}~~~~~~~~~~~ //下面,用标题名来找父窗口 Hwnd = Plugin.Window.Find(0, "无标题- 记事本") //下面,根据父窗口来找子窗口(找对了标题名才有效) HwndEx = Plugin.Window.FindEx(Hwnd, 0, 0, 0) //下面,用程序名来找父窗口 Hwnd = Plugin.Window.Find("Notepad", 0) //下面,根据父窗口来找子窗口(找对了类名才有效) Hwnd = Plugin.Window.FindEx(Hwnd, 0, "Edit", 0) //~~~(也可以改指定程序的标题名来得来句柄)~~~ //下面,将指定程序名的标题名变为变量 Hwnd = Plugin.Window.Find("Notepad", 0) //改变窗口标题 Call Plugin.Window.SetText(Hwnd,"AJJL") //*********》之后可加第一种父子窗口就OK了《********* //~~~如果以上都不行,只剩下最后一种方法~~~~ //下面,鼠标指向的程序定为Hwnd这个变量(不过一定要加标记,否则变为假后台) hwnd=Plugin.Window.MousePoint() Rem star Goto star //区域模糊找色 //(XY,是坐标)(后面的是句柄,左X,上Y,右X,下Y,16位颜色,找的方式,相似度)XY = Plugin.Bkgnd.FindColorEx(Hwnd, 0, 0, 20, 20, "FFFFFF", 0, 0.9) //将XY坐标变为变量,再折分成X坐标和Y坐标。 MyArray = Split(XY, "|") X = Clng(MyArray(0)): Y = Clng(MyArray(1)) //后台判色 Color = Plugin.Bkgnd.GetPixelColor(hwndex,300,150) If color = "020503" Then //根据固定32位地址的值加红蓝(HP少于就。。。) Val = Plugin.Memory.Read32Bit(Hwnd, &H400000) //注意格式:符号&+字母H+8位地址 If clng(val)<=clng(HP)

按键精灵使用方法

“按键精灵”是一款全新概念的键盘鼠标动作模拟软件,它可以借助预先定制好的成百上千种动作脚本实现各种形式键盘鼠标动作的完美模拟或替代,用户几乎不需要什么专业脚本语言知识即可通过软件所独创的脚本模板来定制脚本、调用和运行特定脚本,从而快速实现键盘鼠标动作的“复制”。这款软件最大的本领之一就是可以几乎模拟所有的键盘鼠标动作,比如用户定制一个论坛注册ID的动作脚本,则软件就可以在各个指定的论坛为用户自动注册新用户ID,用户既不需要通过鼠标点选在各个论坛间切换,也不需要手工输入注册信息,是不是极大的节省了用户的操作时间?又是不是最大程度的降低了键盘鼠标的使用损耗呢? 一、小试身手,看看这软件能干啥 “按键精灵”既然能够代替用户进行各种各样的电脑操作,那么我们就不妨来亲身进行一番验证。打开软件(如图1),在它的主界面中用户可以看到软件已经将其内置的上百个现成的动作脚本按照日常应用、网络游戏、鼠标右键点我和脚本技巧等用途类别进行了归类,这样当然是方便用户的查找和用户日常对动作脚本的管理。

图1:新版“按键精灵”的主界面 接下来我们随便挑选一个动作脚本,比如“日常应用”中内置的一个叫做“QQ消息群发器”的动作脚本,这是一个可以自动向特定QQ好友连续群发消息的动作脚本。用户首先在QQ软件中打开对方好友的聊天窗口,接着将“按键精灵”切换到“日常应用”面板(如图2)。 图2:软件的“日常应用”面板

选中那个“QQ消息群发器”的目标动作脚本,随后按下软件默认的启动动作脚本快捷键F10,则软件即可自动按照该动作脚本预先定制好的群发内容和每一句消息发送之间的时间间隔来群发消息,而用户呢?可以在一旁端着咖啡偷着乐吧。事实上,软件内置的这个动作脚本,就是每隔1秒钟,自动向对方QQ 好友发送一句李白的“静夜思”的诗句(如图3)。 图3:在QQ聊天窗口自动群发消息 应用提示:针对这个动作脚本,如果用户想修改一下自动发送消息的内容或调整一下每个句子间发送

相关文档
最新文档