一、前言
玩游戏的时候遇到些枯燥无味反反复复的按鼠标键盘的情况时,就想写个外挂自动释放。刚好在学qt所以试验了下QT能不能对外输出按键与鼠标。
二、思路
qt中的按键鼠标全是输入,没有直接对外输出键盘鼠标指令的类,但是我们换个思路,我们可以给Windows发送信号,让Windows发送虚拟的键盘指令,即直接调用Windows的api接口。
三、代码实现(键盘为例)
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTimer>
#include <QDebug>
#include <QKeyEvent>
#ifdef Q_OS_WIN
#include <windows.h>
#endif
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
QTimer* m_timer_0;
QTimer* m_timer_1;
void sendKeyboardInput(Qt::Key key, bool isKeyDown = true);
protected:
virtual void keyPressEvent(QKeyEvent *event);
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
m_timer_0 = new QTimer;
m_timer_1 = new QTimer;
connect(m_timer_0, &QTimer::timeout, this, [=](){
sendKeyboardInput(Qt::Key_F2);
qDebug() << "Press F2";
m_timer_1->start(500);
})

本文介绍了如何使用QT框架结合WindowsAPI编写游戏外挂脚本,实现在游戏中自动按下F2和F1键。作者通过定时器和发送虚拟键盘指令展示了关键技术的应用。
最低0.47元/天 解锁文章
1032

被折叠的 条评论
为什么被折叠?



