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

动力 网站建设重庆网站平台如何推广

动力 网站建设,重庆网站平台如何推广,如何做淘宝客有没有免费的网站,网络工具一、前言 玩游戏的时候遇到些枯燥无味反反复复的按鼠标键盘的情况时#xff0c;就想写个外挂自动释放。刚好在学qt所以试验了下QT能不能对外输出按键与鼠标。 二、思路 qt中的按键鼠标全是输入#xff0c;没有直接对外输出键盘鼠标指令的类#xff0c;但是我们换个思路就想写个外挂自动释放。刚好在学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.hMainWindow::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_castWORD(key 0x100); // 加0x100表示非扫描码input.ki.wVk static_castWORD(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 CodeVK Code键盘按键对应的值和QT中键盘按键枚举的值是不一样的如果要用的键盘按键多的话最好映射一下地址我做实验就没写映射。下述为Virtual Key CodeVK 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://www.pierceye.com/news/400034/

相关文章:

  • 多城市网站建设免费制作小程序的平台
  • 郑州网站建设出名吗?wordpress获取登录密码
  • 网站建设论文的开题报告重庆市工程建设信息
  • 商务网站设计方案门户网站的优点
  • 河津网站制作wampserver做的网站
  • 洛阳专业网站设计开发制作建站公司零陵区住房和城乡建设局网站
  • 在哪里可以学做网站游戏开发大亨下载
  • 找人做ps的网站无锡 做公司网站
  • 云速建站可以建个人网站吗wordpress仿站难吗
  • 如何取外贸网站域名凡科h5制作教程
  • 蜘蛛不抓取网站的原因中山h5网站建设
  • 百度免费推广网站建网站用的免费软件
  • 网站建设西安哪里好广州做企业网站的公司
  • 汉中市网站建设爱墙 网站怎么做
  • 失物招领网站开发项目需求分析搭建外文网站
  • 免费网站空间免备案自学php做网站
  • 南宁网站建设nnit30郴州市第一职业中专
  • 想开个影视网站 那有做的莱芜信息平台
  • js做网站登录有服务器了怎么做网站
  • 郑州餐饮网站建设哪家好零基础网站建设教学在哪里
  • 讲述做网站的电影建设工程公司名字大全
  • 易语言可以做网站管理系统吗网站备案查询工信部手机版
  • 珠海建站论坛淘宝客网站做一种还是做好几种
  • 杭州公司的网站建设公司教育网站制作运营
  • 福州手游网站建设长春火车站停运了吗
  • wordpress仿站博客视频教程建筑模板哪种好
  • 手机配件网站模板雇主品牌建设
  • 列车营销网站怎么做网站 审批号
  • 嘉定公司网站设计游仙建设局官方网站
  • 青山做网站西安十大网站制作公司