利用Qt与windowsApi实现按键连按与鼠标连点功能

利用Qt与windowsApi实现按键连按与鼠标连点功能,可以后台启动或关闭


前言

发现某些游戏好像把windows队列消息屏蔽了导致这个小工具失效,如果有大佬能指点我一下就好了谢谢各位!!!

功能很简单,就是监听全局按键,碰到特定的按键(这里是F1F2和F5F6)就从UI上面获取参数,创建线程启动按键。(写这篇文章才发现,都是其他大佬的东西,自己制作了UI,惭愧。。。)
在这里插入图片描述


一、使用的Api

按键连按和鼠标连点需要的方法有三个,分别是全局按键拦截、模拟键盘按下、模拟鼠标点击,然后在线程里面处理连按和连点。

Qt中的模拟键盘按下方法只能是焦点在程序中才能拦截,不可以拦截全局,这时候就需要使用windowsapi了。

监听全局按键方法:SetWindowsHookExW
具体参考Qt实现全局键盘事件监听器-Windows
这位大佬应该也是实现了linux下的监听,不过我只做了windows下的编译。

模拟键盘按下方法:keybd_event
具体参考keybd_event——c++模拟键盘按键

模拟鼠标点击方法:mouse_event
具体参考windowsAPI调用,实现鼠标自动点击

二、使用步骤

1.模拟键盘按下

代码如下(示例):

void ThreadHandle::startKeyThread(const QList<Qt::Key> &argList, int keyMode, int mesc)
{
   
    if(argList.size() == 0)
        return;

    while (m_keyFlag) {
   
        LKey_CODE vkCode = LKey_UNKNOWN;
        switch (keyMode) {
   
        case 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值