QT 录制鼠标键盘回放

前段时间因为朋友想要解放双手想要把一些操作录制回放 所以做了这个小项目
因为我目前运用的QT只能在程序中去记录鼠标跟键盘的操作 所以网上找了找方法 有钩子函数使用 所以运用了钩子函数

一、Hook

Window的钩子可以捕捉整个窗口的鼠标跟键盘
首先我们需要写一个安装钩子跟卸载钩子

定义一个钩子

安装钩子 WH_KEYBOARD_LL是键盘(大概) WH_MOUSE_LL是鼠标 详细的去找找SetWindowsHookExW函数了解一下即可

卸载钩子

这边只是贴了键盘的 鼠标的也大致相同 修改一下即可
不同的是回调函数的运用 SetWindowHooksExW的第二个参数是一个回调函数
回调函数里面的操作才是记载的关键

键盘钩子的回调函数
这边分别用一些bool记录一些状态
RecordState 是录制状态 录制状态下才会把键盘相关记录Push
RepeatState 是回放状态 回放状态下限定一下F12关闭回放
KeyState 跟 MouseState 是鼠标跟键盘的状态 这个无关紧要 只是当初做了一个禁止书包跟禁止键盘的按钮
处理也很简单 直接return 1即可 按下F12则取消鼠标键盘的禁用

然后下来的是鼠标的回调函数
一个MouseState记录是否禁用鼠标
一个RecordState 记录是否为录制状态 录制状态则Push

二、脚本回放的具体执行

首先是结构体 上面的push就是基于这个结构体Push的
分别是
Model 鼠标的模式 (移动 左右按下)
NowTimer 鼠标当前模式时候的一个时间
VCode 键盘的键位
dx 鼠标的X轴
dy 鼠标的Y轴

然后就是具体执行脚本
这边创建了一个线程 在线程里面执行脚本
把我们的结构体列表跟执行速度传入

然后就是线程当中的run函数
控制时间的方法一般使用Sleep去执行
然后用一个bool退出线程
根据鼠标跟键盘的不同用mouse_event 跟 keybd_event即可

三、GUI

每次写都想带上的我GUI 因为这个写的比较随意 但是看了之后可能比较了解上面一些功能的一些概念 -.-
Gui代码就不贴了 每个人写GUI的方式不同 这里随意即可-.-

QT 录制鼠标键盘回放相关推荐

  1. 鼠标键盘 录制 可编程宏 /回放 工具 Macro Recorder 汉化 破解 优化

    经常需要操作一些简单重复的工作 比如 就需要一些工具来做这些重复的工作来减轻工作量 鼠标键盘录制回放工具 用过很多  都不太理想 (Mouse Recorder 没有相应热键, 速度可调)(Pulov ...

  2. python3实现鼠标键盘动作录制,并还原执行过程

    这里写自定义目录标题 1.录制鼠标过程源代码,按esc键结束录制,最后保存在commands.json文件中 2.执行上面代码得到的commands.json文件,运行程序,输入文件绝对路径或者文件名 ...

  3. python2鼠标键盘录制功能以及还原操作功能

    已调通,可直接在python2使用 1.录制鼠标过程源代码,按esc键结束录制,最后保存在commands.json文件中 2.执行上面代码得到的commands.json文件,运行程序,输入文件绝对 ...

  4. 屏幕鼠标键盘重复录制执行工具比拼:

    http://bbs.crsky.com/job.php?action=download&pid=tpc&tid=2877091&aid=2671316 不好用 运行死掉~~~ ...

  5. LOL如何录制视频打游戏时偶尔会出现滴滴的响声,同时鼠标键盘失效一小会的问题。

    第一:如何录制视频: 界面的左侧栏 是有录制按钮的. 但是你要点击'~' 按钮键盘 才会出来.(这个和各种设置没啥关系,也和版本没啥关系) 当你结束比赛的时候回提醒你是否保存上传,当你点击保存,会有个 ...

  6. python录制鼠标动作_python之模拟鼠标键盘动作具体实现

    导读热词 上个月就打算开发个还算好玩的项目,但是一直没时间.这篇是此项目用到的一部分, 处理好此部分基本还差通信等方面的了.首先模拟鼠标键盘按下释放的动作,本人利用X11 这个库,所以要了解X11编程 ...

  7. qt linux实现鼠标位置自动移动,【已解决】qt中鼠标能显示但是无法移动

    [问题] 在完成了Linux kernel中的对应的一个模拟鼠标的输入设备(input device)easypoint驱动后,验证了该驱动可以正常工作了,输入 cat /dev/input/even ...

  8. Selenium自动化测试-6.鼠标键盘操作

    ------·今天距2020年77天·------ 这是ITester软件测试小栈第59次推文 大家好 我是vivi小胖虎 作为测试 好像对于点点点这事一直放不下 如何让点点点变得更简单 让人变得更懒 ...

  9. 模拟鼠标键盘操作,含硬件模拟技术。

    键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作.但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫,于是就有了用程序来代替人们按键的方法,这样 ...

最新文章

  1. android 字体上添加横线,字体下面添加下划线
  2. hdu 多校数论 GuGuFishtion
  3. 如何查linux系统安装时间查询,Linux系统怎样查询当前的系统时间
  4. ubuntu12.04LTS安装已经共享的打印机
  5. 手机 跑linux,你可曾想过在iOS上跑Linux?
  6. 读书笔记--互联网必读《长尾理论》作者克里斯.安德森
  7. Linux下profile environment bashrc的区别
  8. 403 forbidden nginx_5,Logstash正则提取Nginx日志 - pwcc
  9. echarts3 graph java_echarts 3.0 使用自定义图标
  10. 6.4 tensorflow2实现FNN推荐系统——Python实战(第一篇)
  11. achartengine画出动态折线图
  12. 将一个数据插入表中前校验数据是否存在
  13. UE4联网机制和多人游戏总结 (第一部分)
  14. MOOC电子科技大学 离散数学 集合论 第一次作业答案
  15. 如何找到属于自己高效学习方法?
  16. 爬虫(七)通过Selenium爬取网易云音乐评论
  17. 转--各种文件后缀名与打开方式大全
  18. 大数据平台搭建及集群规划
  19. cf 1677A - Tokitsukaze and Strange Inequality
  20. 图神经网络(GNNs)模型学习笔记与总结

热门文章

  1. 干货!2019年你确定要错过这份优秀Web字体清单吗?
  2. R语言非参数检验多重比较
  3. 微电网两阶段鲁棒优化经济调度方法(完美复现)
  4. RocketMQ原理及解析
  5. Java基础关键知识点(1)
  6. Android问题集锦之十五 可笑的unauthorized错误
  7. 基于uml的大学图书馆图书信息管理系统设计实验_这里是汕头大学
  8. ansible 高级自动化变量及变量过滤器
  9. 2022年2月份泰森云资源分享下载列表 17/20
  10. 手把手教怎么制作U盘启动系统盘,Ventoy工具下载和使用