易语言仿按键精灵录制键盘鼠标操作的代码

  

<强> DLL命令表

        第2版。本   . dll命令取按键状态,短整数型,“user32。dll”、“GetAsyncKeyState”   。参数鼠标键,整数型   . dll命令取鼠标位置,整数型,“user32。dll”、“GetCursorPos”   。参数当前鼠标位置,鼠标位置,传址   . dll命令模拟鼠标按键,,“mouse_event”   。参数鼠标动作,整数型   。参数水平位置,整数型   。参数垂直位置,整数型   。参数鼠标按键,整数型   。参数扩展信息,整数型   . dll命令模拟键盘按键,,“keybd_event”   。参数bVk,字节型   。参数bScan,字节型   。参数dwFlags,整数型   。参数dwExtraInfo,整数型      

<>强自定义数据类型

        第2版。本   。数据类型鼠标位置   。成员横向坐标,整数型   。成员纵向坐标,整数型   。数据类型按键记录,,记录长度13个字节。   。成员时间间隔,整数型   。成员键值,字节型,,,0,鼠标移动;其他为键盘键值   。成员键盘动作,整数型,,,或者是鼠标水平位置   。成员垂直位置,整数型,,,鼠标垂直位置      

<强>鼠标键盘录制的代码

        第2版。本   。程序集程序集_主窗口   。程序集变量按键状态,整数型,,“256”   。程序集变量时间线,整数型   。程序集变量鼠标前次位置,鼠标位置   。程序集变量操作记录,按键记录,“92000”,   。程序集变量缓冲区记录数,文本型   。程序集变量当前记录,整数型   。程序集变量可否中断,逻辑型   。程序集变量屏幕宽度,整数型   。程序集变量屏幕高度,整数型   。程序集变量停止回放,逻辑型   ,子程序判断按键   。参数键值,字节型   。参数当前状态,整数型   ,判断开始(当前状态=0)   。如果真(按键状态(键值+ 1]≠0)   添加记录(键值,#键抬起,0)   。如果真结束   ,判断(当前状态≠0)   。如果(键值=# F3键)   可否中断=真   返回()   否,则   。如果结束   。如果真(按键状态(键值+ 1)=0)   添加记录(键值,#键按下,0)   。如果真结束   。默认   ,判断结束   按键状态(键值+ 1)=当前状态   ,子程序添加记录   。参数键值,字节型,,为0表示鼠标移动,其他表示按键   。参数键盘动作,整数型,,或“水平位置”,传入的双精度数   。参数垂直位置,整数型   当前记录=当前记录+ 1   。如果(当前记录>取数组成员数(操作记录))   可否中断=真   信息框(“缓冲区已满,录制被迫中止。”,#错误图标,“录制出错”)   返回()   否,则   。如果结束   操作记录(当前记录)。时间间隔=取启动时间()——时间线   操作记录(当前记录)。键值=键值   操作记录(当前记录)。键盘动作=键盘动作   操作记录(当前记录)。垂直位置=垂直位置   标签_录制进程。标题=到文本(当前记录)+ " +缓冲区记录数   ,子程序_按钮_记录_被单击   。局部变量键值,整数型   。局部变量鼠标当前位置,鼠标位置   。局部变量鼠标动作,整数型   。局部变量脚本文件号,整数型   。局部变量记录数,整数型   。局部变量脚本文件名,文本型   按钮_记录。禁止=真   按钮_回放。禁止=真   按钮_停止。禁止=假   。如果真(选择框_最小化。选中)   位置=2   。如果真结束   时钟_热键。时钟周期=0”关闭”记录”热键   计。次循环首(256年,键值)“初始化按键状态   取按键状态(键值- 1)   按键状态(键值)=0   计。次循环尾()   屏幕宽度=取屏幕宽度()“为获取鼠标坐标作准备   屏幕高度=取屏幕高度()   当前记录=0   时间线=取启动时间()   可否中断=假'开始记录   ,判断循环首(可否中断=假)   取鼠标位置(鼠标当前位置)   。如果真(鼠标前次位置。横向坐标≠鼠标当前位置。横向坐标或鼠标前次位置。纵向坐标≠鼠标当前位置。纵向坐标)   鼠标前次位置=鼠标当前位置   添加记录(0,鼠标当前位置。横向坐标×65535 \屏幕宽度,鼠标当前位置。纵向坐标×65535 \屏幕高度)   。如果真结束   。变量循环首(146、255、1、键值)“先检查额外按键信息.OEM扫描码处理,扩展键信息   判断按键(键值,取按键状态(键值))   。变量循环尾()   。变量循环首(0 145 1,键值)   判断按键(键值,取按键状态(键值))   。变量循环尾()   处理事件()   延时(10)“取启动时间()最少间隔是15毫秒   ,判断循环尾()   ,判断开始(当前记录> 4)   脚本文件名=到文本(取现行时间())   创建目录(取运行目录()+ " \脚本")   脚本文件号=打开文件(取运行目录()+“\ scripts \”+脚本文件名+”。mrc”, #重写#禁止写)   。变量循环首(4,当前记录,1,记录数)   写出数据(脚本文件号,操作记录(记录数)。时间间隔,操作记录(记录数)。键值,操作记录(记录数)。键盘动作,操作记录(记录数]。垂直位置)   。变量循环尾()   关闭文件(脚本文件号)   。默认   ,判断结束   现存脚本()   时钟_热键。时钟周期=100的打开“记录”热键   按钮_记录。禁止=假   按钮_停止。禁止=真   位置=0   ,子程序_按钮_停止_被单击   可否中断=真   ,子程序现存脚本   。局部变量脚本文件名,文本型   按钮_回放。禁止=真   按钮_删除。禁止=真   列表框_脚本。清空()   脚本文件名=寻找文件(取运行目录()+”\ \ *的脚本。mrc”,)   ,判断循环首(脚本文件名≠" ")   列表框_脚本。加入项目(脚本文件名,)   脚本文件名=寻找文件(,)   ,判断循环尾()   列表框_脚本。现行选中项=列表框_脚本。取项目数()- 1   _列表框_脚本_列表项被选择()   ,子程序读取脚本   。参数脚本文件名,文本型   。局部变量脚本文件号,整数型   脚本文件号=打开文件(脚本文件名,#读入,#禁止写)   当前记录=0   ,判断循环首(是否在文件尾(脚本文件号,)=假)   当前记录=当前记录+ 1   读入数据(脚本文件号,操作记录(当前记录)。时间间隔,操作记录(当前记录)。键值,操作记录(当前记录)。键盘动作,操作记录(当前记录]。垂直位置)   ,判断循环尾()   关闭文件(脚本文件号)   按钮_回放。禁止=假   ,子程序脚本_回放   。参数脚本文件名,文本型   。局部变量记录数,整数型   。局部变量执行次数,整数型   。局部变量回放间隔时间,整数型   读取脚本(脚本文件名)   。如果真(选择框_回放。选中=真)   位置=2   。如果真结束   按钮_回放。禁止=真   按钮_记录。禁止=真   停止回放=假   回放间隔时间=到数值(编辑框_间隔时间。内容)   计。次循环首(到数值(编辑框_回放次数。内容),执行次数)   标签_当前次数。标题=到文本(执行次数)+ " +编辑框_回放次数。内容   时间线=取启动时间()   计。次循环首(当前记录,记录数)   ,判断循环首(取启动时间()≥时间线且取启动时间()——时间线≤操作记录(记录数]。时间间隔)“解决取启动时间()往复的问题   处理事件()   延时(3)的1/3   ,判断循环尾()   ,判断开始(操作记录(记录数)。键值=0)“鼠标移动   模拟鼠标按键(位或(#鼠标移动,#绝对坐标),操作记录(记录数)。键盘动作,操作记录(记录数)。垂直位置,0,0)   (记。判断(操作记录录数)。键值=1)“鼠标左键   (记。如果(操作记录录数)。键盘动作=#键按下)   模拟鼠标按键(#左键按下,0,0,0,0)   否,则   模拟鼠标按键(#左键抬起,0,0,0,0)   。如果结束   (记。判断(操作记录录数)。键值=2)“鼠标右键   (记。如果(操作记录录数)。键盘动作=#键按下)   模拟鼠标按键(#右键按下,0,0,0,0)   否,则   模拟鼠标按键(#右键抬起,0,0,0,0)   。如果结束   (记。判断(操作记录录数)。键值=4)“鼠标中键   (记。如果(操作记录录数)。键盘动作=#键按下)   模拟鼠标按键(#中键按下,0,0,0,0)   否,则   模拟鼠标按键(#中键抬起,0,0,0,0)   。如果结束   (记。判断(操作记录录数)。键值> 4)“键盘键   模拟键盘按键(操作记录(记录数)。键值,0,操作记录(记录数)。键盘动作,0)   。默认   ,判断结束   标签_录制进程。标题=到文本(记录数)+ " +缓冲区记录数   处理事件()   。如果真(停止回放)   跳出循环()   。如果真结束   计。次循环尾()   。如果真(停止回放)   跳出循环()   。如果真结束   ,判断开始(到数值(编辑框_回放次数。内容)> 1)   延时(回放间隔时间×1000)   。默认   ,判断结束   计。次循环尾()   标签_当前次数。标题="执行完毕”   按钮_回放。禁止=假   按钮_记录。禁止=假   位置=0   ,子程序__启动窗口_创建完毕   。局部变量键值,整数型   。局部变量命令行,文本型,,“0”   。局部变量脚本文本,文本型   缓冲区记录数=到文本(取数组成员数(操作记录))   取按键状态(# F2键)   取按键状态(# F3键)   取按键状态(# F4键)   时钟_热键。时钟周期=100   现存脚本()   取命令行(命令行)   ,判断开始(取数组成员数(命令行)=1)   脚本文本=取运行目录()+“\ scripts \”+命令行[1]+“.mrc”   ,判断开始(文件是否存在(脚本文本))   脚本_回放(脚本文本)   结束()   。默认   ,判断结束   。默认   ,判断结束   ,子程序加密机器码,文本型   。参数机器码,文本型   。局部变量字符位置,整数型   。局部变量加密后文本,文本型   。局部变量二次加密文本,文本型   。变量循环首(取文本长度(机器码),1,1,字符位置)   加密后文本=加密后文本+字符(到数值(取文本中间(机器码,字符位置,1))+取代码(“p”))   。变量循环尾()   计。次循环首(取文本长度(机器码),字符位置)   二次加密文本=二次加密文本+字符(取代码(加密后文本,字符位置)——到数值(取文本中间(机器码,字符位置,1)))   计。次循环尾()   返回(二次加密文本)   ,子程序_时钟_热键_周期事件   。如果(取按键状态(# F2键)≠0)   _按钮_记录_被单击()   否,则   。如果结束   。如果(取按键状态(# F4键)≠0)   停止回放=真   否,则   。如果结束   ,子程序_列表框_脚本_列表项被选择   按钮_回放。禁止=假   按钮_删除。禁止=假   ,子程序_按钮_删除_被单击   删除文件(取运行目录()+“\ scripts \”+列表框_脚本。取项目文本(列表框_脚本。现行选中项))   现存脚本()   ,子程序__启动窗口_将被销毁   结束()   ,子程序_调节器_间隔时间_调节钮被按下   。参数按钮值,整数型   。如果(按钮值=1)   编辑框_间隔时间。内容=到文本(到数值(编辑框_间隔时间。内容)+ 1)   否,则   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

易语言仿按键精灵录制键盘鼠标操作的代码