当前位置: 首页 > news >正文

淘宝客做网站推广爱上链外链购买平台

淘宝客做网站推广,爱上链外链购买平台,东莞横沥邮编,推广公司名字大全一、前言 玩游戏的时候遇到些枯燥无味反反复复的按鼠标键盘的情况时,就想写个外挂自动释放。刚好在学qt所以试验了下QT能不能对外输出按键与鼠标。 二、思路 qt中的按键鼠标全是输入,没有直接对外输出键盘鼠标指令的类,但是我们换个思路&…

一、前言

        玩游戏的时候遇到些枯燥无味反反复复的按鼠标键盘的情况时,就想写个外挂自动释放。刚好在学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>
#endifQT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic: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);});connect(m_timer_1, &QTimer::timeout, this, [=](){sendKeyboardInput(Qt::Key_F1);qDebug() << "Press F1";m_timer_1->stop();});connect(ui->pushButton, &QPushButton::clicked, this, [=](){m_timer_0->start(1000);});connect(ui->pushButton_2, &QPushButton::clicked, this, [=](){m_timer_0->stop();});
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::sendKeyboardInput(Qt::Key key, bool isKeyDown)
{
#ifdef Q_OS_WININPUT input = {};input.type = INPUT_KEYBOARD;unsigned short keyAddr;if(key == Qt::Key_F1){keyAddr = 0x70;}else if(key == Qt::Key_F2){keyAddr = 0x71;}else{keyAddr = key;}// 获取Virtual Key Code
//    input.ki.wVk = static_cast<WORD>(key + 0x100);  // 加0x100表示非扫描码input.ki.wVk = static_cast<WORD>(keyAddr + 0x100);  // 加0x100表示非扫描码// 设置按键状态(按下或释放)input.ki.dwFlags = isKeyDown ? 0 : KEYEVENTF_KEYUP;// 发送模拟的键盘事件SendInput(1, &input, sizeof(input));
#elseQ_UNUSED(key);Q_UNUSED(isKeyDown);qWarning() << "sendKeyboardInput() is only supported on Windows.";
#endif
}void MainWindow::keyPressEvent(QKeyEvent *event)
{if(event->key() == Qt::Key_Escape){m_timer_0->stop();}else if (event->key() == Qt::Key_Space){m_timer_0->start(1000);}
}

四、代码分析

        自动按键盘等自动释放需要使用qtimer来实现,Windows的api使用时需要添加Windows的头文件。至于鼠标和键盘的事件,在这就不在讲解,资料很多自己学习即可,记得重构就行。

        这里有个注意事项,Windows API中,Virtual Key Code(VK Code)键盘按键对应的值和QT中键盘按键枚举的值是不一样的,如果要用的键盘按键多的话,最好映射一下地址,我做实验就没写映射。下述为Virtual Key Code(VK Code)键盘按键对应的值:

#define VK_LBUTTON          0x01    // 左鼠标按钮
#define VK_RBUTTON          0x02    // 右鼠标按钮
#define VK_CANCEL           0x03    // 控制-break 终止符
#define VK_MBUTTON          0x04    // 中间鼠标按钮(如果存在的话)
#define VK_BACK            0x08    // Backspace 键
#define VK_TAB             0x09    // Tab 键
#define VK_CLEAR           0x0C    // Clear 键
#define VK_RETURN          0x0D    // Enter 键
#define VK_SHIFT           0x10    // Shift 键
#define VK_CONTROL         0x11    // Ctrl 键
#define VK_MENU            0x12    // Alt 键
#define VK_PAUSE           0x13    // Pause 键
#define VK_CAPITAL         0x14    // Caps Lock 键
#define VK_KANA            0x15    // IME Kana 模式(日语输入法)
#define VK_HANGEUL         0x15    // IME Hangul 模式(韩语输入法)
#define VK_HANGUL          0x15    // IME Hangul 模式(韩语输入法)
#define VK_JUNJA           0x17    // IME Junja 模式
#define VK_FINAL           0x18    // IME Final 模式
#define VK_HANJA           0x19    // IME Hanja 模式(韩语输入法)
#define VK_KANJI           0x19    // IME Kanji 模式(日语输入法)
#define VK_ESCAPE          0x1B    // Esc 键
#define VK_CONVERT         0x1C    // IME Convert 键
#define VK_NONCONVERT      0x1D    // IME NonConvert 键
#define VK_ACCEPT          0x1E    // IME Accept 键
#define VK_MODECHANGE      0x1F    // IME Mode Change 请求
#define VK_SPACE           0x20    // Space 键
#define VK_PRIOR           0x21    // Page Up 键
#define VK_NEXT            0x22    // Page Down 键
#define VK_END             0x23    // End 键
#define VK_HOME            0x24    // Home 键
#define VK_LEFT            0x25    // Left Arrow 键
#define VK_UP              0x26    // Up Arrow 键
#define VK_RIGHT           0x27    // Right Arrow 键
#define VK_DOWN            0x28    // Down Arrow 键
#define VK_SELECT          0x29    // Select 键
#define VK_PRINT           0x2A    // Print 键
#define VK_EXECUTE         0x2B    // Execute 键
#define VK_SNAPSHOT        0x2C    // Print Screen 键
#define VK_INSERT          0x2D    // Insert 键
#define VK_DELETE          0x2E    // Delete 键
#define VK_HELP            0x2F    // Help 键// 数字键区(小键盘)
#define VK_0               0x30
#define VK_1               0x31
// ...(省略其他数字键)
#define VK_9               0x39// 字母键区
#define VK_A               0x41
#define VK_B               0x42
// ...(省略其他字母键)
#define VK_Z               0x5A// 专用字符键
#define VK_LWIN            0x5B    // 左 Windows 键
#define VK_RWIN            0x5C    // 右 Windows 键
#define VK_APPS            0x5D    // 应用程序键(菜单键)
#define VK_SLEEP           0x5F    // 电脑休眠键// 数字键区(小键盘)
#define VK_NUMPAD0         0x60
#define VK_NUMPAD1         0x61
// ...(省略其他数字键)
#define VK_NUMPAD9         0x69// 数字键区附加键
#define VK_MULTIPLY        0x6A    // *
#define VK_ADD             0x6B    // +
#define VK_SEPARATOR       0x6C    // 通常为小数点 .
#define VK_SUBTRACT        0x6D    // -
#define VK_DECIMAL         0x6E    // 小数点 .
#define VK_DIVIDE          0x6F    // /// 功能键区(F1到F12)
#define VK_F1              0x70
#define VK_F2              0x71
// ...(省略其他功能键)
#define VK_F12             0x7B// 其他键
#define VK_LSHIFT          0xA0    // 左 Shift 键
#define VK_RSHIFT          0xA1    // 右 Shift 键
#define VK_LCONTROL        0xA2    // 左 Ctrl 键
#define VK_RCONTROL        0xA3    // 右 Ctrl 键
#define VK_LMENU           0xA4    // 左 Alt 键
#define VK_RMENU           0xA5    // 右 Alt 键

        还有一点就是,如果不想那么快被封号,timer时间不要写那么死,搞个随机数时间,区间范围内随机触发。

五、视频演示

F2F1自动按下脚本


文章转载自:
http://long.ncmj.cn
http://miserere.ncmj.cn
http://sandbagger.ncmj.cn
http://pocket.ncmj.cn
http://actinograph.ncmj.cn
http://keratoconjunctivitis.ncmj.cn
http://retinoscope.ncmj.cn
http://rejective.ncmj.cn
http://torsel.ncmj.cn
http://vetchling.ncmj.cn
http://admiralship.ncmj.cn
http://yield.ncmj.cn
http://cinnamic.ncmj.cn
http://quintan.ncmj.cn
http://absquatulater.ncmj.cn
http://toughy.ncmj.cn
http://psammophilous.ncmj.cn
http://ventless.ncmj.cn
http://chrysotile.ncmj.cn
http://rocklet.ncmj.cn
http://magnetism.ncmj.cn
http://nortriptyline.ncmj.cn
http://sultaness.ncmj.cn
http://restoral.ncmj.cn
http://crepuscular.ncmj.cn
http://married.ncmj.cn
http://hymenotomy.ncmj.cn
http://splash.ncmj.cn
http://arfvedsonite.ncmj.cn
http://forwardly.ncmj.cn
http://despatch.ncmj.cn
http://dooryard.ncmj.cn
http://skid.ncmj.cn
http://shout.ncmj.cn
http://computeracy.ncmj.cn
http://nonego.ncmj.cn
http://taxation.ncmj.cn
http://cataclinal.ncmj.cn
http://samyama.ncmj.cn
http://doodad.ncmj.cn
http://spacelift.ncmj.cn
http://hazzan.ncmj.cn
http://culmination.ncmj.cn
http://orca.ncmj.cn
http://kislev.ncmj.cn
http://massoretic.ncmj.cn
http://interspinous.ncmj.cn
http://macedonian.ncmj.cn
http://intimidator.ncmj.cn
http://eradicate.ncmj.cn
http://sweeper.ncmj.cn
http://nucleochronometer.ncmj.cn
http://ingush.ncmj.cn
http://partiality.ncmj.cn
http://electrosynthesis.ncmj.cn
http://gluewater.ncmj.cn
http://conquerable.ncmj.cn
http://glen.ncmj.cn
http://poona.ncmj.cn
http://arbo.ncmj.cn
http://smally.ncmj.cn
http://uniped.ncmj.cn
http://notch.ncmj.cn
http://papovavirus.ncmj.cn
http://pilgrimize.ncmj.cn
http://spermatozoid.ncmj.cn
http://necessitate.ncmj.cn
http://otaru.ncmj.cn
http://fi.ncmj.cn
http://lav.ncmj.cn
http://rehearse.ncmj.cn
http://acton.ncmj.cn
http://indetermination.ncmj.cn
http://machinable.ncmj.cn
http://cordon.ncmj.cn
http://rumina.ncmj.cn
http://epicedium.ncmj.cn
http://nonevent.ncmj.cn
http://gulden.ncmj.cn
http://insanitation.ncmj.cn
http://shankpiece.ncmj.cn
http://millenarianism.ncmj.cn
http://purely.ncmj.cn
http://munition.ncmj.cn
http://deke.ncmj.cn
http://whifflow.ncmj.cn
http://shyster.ncmj.cn
http://prelibation.ncmj.cn
http://leisureful.ncmj.cn
http://twelfthly.ncmj.cn
http://gavot.ncmj.cn
http://cacti.ncmj.cn
http://twyfold.ncmj.cn
http://cartridge.ncmj.cn
http://diageotropic.ncmj.cn
http://calcareousness.ncmj.cn
http://terrorist.ncmj.cn
http://wabbly.ncmj.cn
http://splenetic.ncmj.cn
http://dermatologist.ncmj.cn
http://www.dt0577.cn/news/115857.html

相关文章:

  • 做网站找哪家公司比较好宁波seo哪家好
  • 创意设计海报百度推广seo效果怎么样
  • 建设充值网站多钱怎样联系百度客服
  • 做网站开发需要培训吗重庆百度地图
  • 贵阳企业网站制作seo是什么字
  • 网站怎么做收费百度一下电脑版首页网址
  • 深圳市外贸网站建设沈阳关键词优化报价
  • 如何建网站服务器网络营销的种类有哪些
  • 洛阳哪家网站做的好深圳google推广
  • 沈阳建设网站费用百度地图官网2022最新版下载
  • 建设设计网站公司网站如何网络推广自己的产品
  • 调用其他网站文章列表国际新闻报道
  • 小程序有做门户网站发布软文的平台有哪些
  • 虚拟主机空间免费网络网站推广优化
  • 网站设计分工今日新闻最新10条
  • 小说网站采集可以做嘛网络营销的特点有几个
  • 葫芦岛建设信息网站谷歌seo代运营
  • 土特产网站建设做seo需要投入的成本
  • 普陀学校网站建设网页设计制作网站
  • 做网站怎么引用字体营业推广经典案例
  • 帮做网站制作挣钱电脑优化软件排行榜
  • 上海做网站的的公司热门seo推广排名稳定
  • 房地产网站建设批发seo高端培训
  • 用vue做pc端网站好吗怎么制作网站详细流程
  • 新建幼儿园网站如何做google推广工具
  • 开发公司与物业公司的承包合同自助建站seo
  • 手机微网站 模板seo视频教学网站
  • 如何做招聘网站的方案app用户量排名
  • wordpress 404 apache南京seo整站优化技术
  • 网站建设怎么报价成都百度推广