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

易语⾔仿按键精灵录制键盘⿏标操作的代码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) ' 取启动时间()最少间隔是 15ms
.判断循环尾 ()
.判断开始 (当前记录> 4)
脚本⽂件名=到⽂本 (取现⾏时间 ())
创建⽬录 (取运⾏⽬录 () + “\scripts”)
脚本⽂件号=打开⽂件 (取运⾏⽬录 () + “\scripts\” +脚本⽂件名+ “.mrc”, #重写, #禁⽌写)
.变量循环⾸ (4, 当前记录, 1, 记录数)
写出数据 (脚本⽂件号, 操作记录 [记录数].时间间隔, 操作记录 [记录数].键值, 操作记录 [记录数].键盘动作, 操作记录 [记录数].垂直位置)  .变量循环尾 ()
关闭⽂件 (脚本⽂件号)
.默认
.判断结束
现存脚本 ()
时钟_热键.时钟周期= 100 ' 打开 “记录”热键
按钮_记录.禁⽌=假
按钮_停⽌.禁⽌=真
位置= 0
.⼦程序 _按钮_停⽌_被单击
可否中断=真
.⼦程序现存脚本
.局部变量脚本⽂件名, ⽂本型
按钮_回放.禁⽌=真
按钮_删除.禁⽌=真
列表框_脚本.清空 ()
脚本⽂件名=寻⽂件 (取运⾏⽬录 () + “\scripts\*.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
.
⼦程序 __启动窗⼝_创建完毕
.局部变量键值, 整数型
缓冲区记录数=到⽂本 (取数组成员数 (操作记录))
取按键状态 (#F2键)
取按键状态 (#F3键)
取按键状态 (#F4键)
时钟_热键.时钟周期= 100
现存脚本 ()
取命令⾏ (命令⾏)
.判断开始 (取数组成员数 (命令⾏) = 1)
脚本⽂本=取运⾏⽬录 () + “\scripts\” +命令⾏ [1] + “.mrc”
.
判断开始 (⽂件是否存在 (脚本⽂本))
脚本_回放 (脚本⽂本)
结束 ()
.默认
.判断结束
.默认
.判断结束
.⼦程序加密机器码, ⽂本型
.参数机器码, ⽂本型
.局部变量字符位置, 整数型
.局部变量加密后⽂本, ⽂本型
.
局部变量⼆次加密⽂本, ⽂本型
.变量循环⾸ (取⽂本长度 (机器码), 1, -1, 字符位置)
加密后⽂本=加密后⽂本+字符 (到数值 (取⽂本中间 (机器码, 字符位置, 1)) +取代码 (“p”, ))
.变量循环尾 ()
.计次循环⾸ (取⽂本长度 (机器码), 字符位置)
⼆次加密⽂本=⼆次加密⽂本+字符 (取代码 (加密后⽂本, 字符位置) -到数值 (取⽂本中间 (机器码, 字符位置, 1))) .计次循环尾 ()
返回 (⼆次加密⽂本)
.⼦程序 _时钟_热键_周期事件
.如果 (取按键状态 (#F2键) ≠ 0)
_按钮_记录_被单击 ()
.否则
.如果结束
.如果 (取按键状态 (#F4键) ≠ 0)
停⽌回放=真
.否则
.如果结束
.⼦程序 _列表框_脚本_列表项被选择
滤菌器按钮_回放.禁⽌=假
按钮_删除.禁⽌=假
.⼦程序 _按钮_删除_被单击
删除⽂件 (取运⾏⽬录 () + “\scripts\” +列表框_脚本.取项⽬⽂本 (列表框_脚本.现⾏选中项))
现存脚本 ()
.
⼦程序 __启动窗⼝_将被销毁
结束 ()
.⼦程序 _调节器_间隔时间_调节钮被按下
.参数按钮值, 整数型
.如果 (按钮值= 1)
编辑框_间隔时间.内容=到⽂本 (到数值 (编辑框_间隔时间.内容) + 1)
.否则
.如果真 (到数值 (编辑框_间隔时间.内容) > 0)
编辑框_间隔时间.内容=到⽂本 (到数值 (编辑框_间隔时间.内容) - 1)
.如果真结束
.如果结束
.
⼦程序 _调节器_回放次数_调节钮被按下
.参数按钮值, 整数型
.如果 (按钮值= 1)
编辑框_回放次数.内容=到⽂本 (到数值 (编辑框_回放次数.内容) + 1)
.否则
.如果真 (到数值 (编辑框_回放次数.内容) > 1)
编辑框_回放次数.内容=到⽂本 (到数值 (编辑框_回放次数.内容) - 1)
.如果真结束
.如果结束
.⼦程序 _按钮_回放_被单击
脚本_回放 (取运⾏⽬录 () + “\scripts\” +列表框_脚本.取项⽬⽂本 (列表框_脚本.现⾏选中项))
.
⼦程序 _列表框_脚本_双击选择
载⼊ (窗⼝1, , 真)
.⼦程序 _列表框_脚本_⿏标右键被放开, 逻辑型
.参数横向位置, 整数型
.参数纵向位置, 整数型
.参数功能键状态, 整数型
弹出菜单 (Z, , )
.⼦程序 _重命名_被选择
.局部变量脚本⽬录, ⽂本型
.判断开始 (输⼊框 (“请输⼊新脚本名称:”, “重命名脚本名称”, 列表框_脚本.取项⽬⽂本 (列表框_脚本.现⾏选中项), 新⽂件名, 1, _启动窗⼝))
脚本⽬录=取运⾏⽬录 () + “\scripts\”
.判断开始 (取⽂本右边 (新⽂件名, 4) ≠ “.mrc”)
新⽂件名=新⽂件名+ “.mrc”
.默认
.判断结束
.判断开始 (⽂件更名 (脚本⽬录+列表框_脚本.取项⽬⽂本 (列表框_脚本.现⾏选中项), 脚本⽬录+新⽂件名))
列表框_脚本.置项⽬⽂本 (列表框_脚本.现⾏选中项, 新⽂件名)
.默认
.判断结束
.默认
.判断结束
运⾏结果:
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,谢谢⼤家对的⽀持。如果你想了解更多相关内容请查看下⾯相关链接

本文发布于:2024-09-22 14:37:44,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/339029.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:记录   脚本   按键
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议