用Qt实现网页刷新功能

前言

在上一篇博客Qt:使用Qt实现网页自动刷新工具,使用了PostMassage函数 通过Windows的消息机制实现的网页刷新功能。因为消息种类太多,不方便使用和记忆,所以Windows下的大部分消息可以使用对应等价的API函数,不必直接通过消息进行沟通。这节我们使用mouse_event鼠标模拟函数和keybd_event键盘模拟函数继续来实现网页刷新功能。

界面

界面当然还是用Qt来写呀。

代码

qt 代码如下,完整工程请下载示例demo,或者github下载地址

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);
}//找到窗口,并将目标窗口设置到最前面
void Widget::FindAndFocus(){//【无欲则刚】30岁回农村 - CSDN博客 - 2345加速浏览器 9.5QString title = ui->htmlWinTitle->text();if(title.isEmpty()){qDebug() <<"没有找到窗口";return;}qDebug() << "找到窗口";LPCWSTR  str = (LPCWSTR)title.toUtf8().data();m_hWnd = FindWindow(NULL,str);SetForegroundWindow(m_hWnd);
}
Widget::~Widget()
{delete ui;
}
//模拟键盘
void Widget::on_btn1_clicked()
{FindAndFocus();//按键模拟函数,模拟F5keybd_event(VK_F5,0,0,0);
}
/** 模拟鼠标* 先找到窗口,移动鼠标到窗口内,模拟 右键按下,模拟 L键 进行刷新* 用的2345浏览器,不知道其他浏览器的按键是好多*/
void Widget::on_btn2_clicked()
{FindAndFocus();//得到窗口坐标POINT pt = {0};ClientToScreen(m_hWnd,&pt);//设置鼠标位置SetCursorPos(pt.x + 300,pt.y+400);mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);Sleep(100);mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);Sleep(1000);//弹出右键菜单,L快捷键刷新,L 的ASCII 76。keybd_event(76,0,0,0);
}

Qt:Qt使用鼠标模拟函数mouse_event和按键模拟函数keybd_even实现网页刷新功能相关推荐

  1. c语言按键事件判断函数kbhit和按键获取函数getch

    kbhit() 是一个C和C++函数,用于非阻塞地响应键盘输入事件,为 "keyboard hit(键盘敲击)"的简写. kbhit 是 _kbhit() 的弃用别名,尽管它依然受 ...

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

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

  3. qt,QGraphicsView实现鼠标中键拖动图片,鼠标滚轮缩放、两个窗口联动左键选点等功能(c++pyqt两个版本)

    先看效果: (1)c++版本(一个动图): (2)pyqt版本(一个图):与c++版本一毛一样,用的同一个ui文件,此处动图略 实现关键点:1)拖动:重写QGraphicsView类,鼠标中键按下记录 ...

  4. 【QT】无需写connect代码关联信号和槽函数

    对于一些简单的事件判别,如点击按钮. 无需写代码关联信号和槽函数. connect(ui->Btnshowhello,SIGNAL(clicked(bool)),this,SLOT(Btnsho ...

  5. QT/C++/Eigen 自己实现的MATLAB中的std()函数,矩阵按照列求标准差

    QT / C++ / Eigen 自己实现的MATLAB中的std()函数,矩阵按照列求标准差 //定义一个按列求标准差的函数,其中A为被求列标准差的矩阵,OutputMatrix为求出的列标准差 v ...

  6. 在Qt中设置鼠标光标形状的方法介绍

    本文主要介绍在 Qt 中设置鼠标光标形状的方法. 说明: 本文中的应用程序是面向 Windows 操作系统的: 本文中使用的 Qt Creator 版本号为:7.0.0: 本文中使用的 Qt 版本号为 ...

  7. Qt实现全局鼠标事件监听器-Linux

    Qt实现全局鼠标事件监听器-Linux版

  8. Qt实现全局鼠标事件监听器-Windows

    Qt实现全局鼠标事件监听器-Windows版

  9. C++模拟游戏中鼠标点击和键盘按键

    游戏中模拟键盘输入,有时回被系统屏蔽,Java等语言都试过很多方法,好像都没用,所以下面给出一种C++实现方法 #include <iostream> #include <windo ...

最新文章

  1. 清华发布《中国AI发展报告2018》:中科院系统AI论文产出全球第一
  2. Quick-cocos2d-x3.3 Study (十五)--------- 为小鸟添加一个物理加速度
  3. .NET 11 个 Visual Studio 代码性能分析工具
  4. 捉虫记 单步跟踪 条件断点 变量查看实践
  5. poj1061-青蛙的约会
  6. PWN-PRACTICE-BUUCTF-26
  7. 一文搞懂*argv和**kwargs
  8. 小米12 Ultra或将在5月发布:依旧为骁龙8移动平台
  9. eclipse中svn插件的工程不能与svn资源库同步的解决方法
  10. linux umask命令
  11. 东大22春实用写作X《实用写作》在线平时作业1百分非答案
  12. 大学有必要考华为认证吗?
  13. 知识对话2021《Augmenting Knowledge-grounded Conversations with Sequential Knowledge Transition》论文解读
  14. sqldevelop 连接数据库,数据库直接写ip
  15. IAP 内购二次验证(出现的问题21002及解决方案)
  16. 中国白领最苦累的六大城市
  17. 地址转为经纬度通过DBSCAN进行关联识别
  18. matlab使用杂谈5-fftshift函数的使用
  19. 椭圆曲线加密与NSA后门考古
  20. 产品概念之1/4:前言 —— 有必要这么学术吗?

热门文章

  1. python根据文件名打标签_使用python将图片按标签分入不同文件夹的方法
  2. centos linux引导修复_【Linux 运维】 Centos7.x 系统修复模式
  3. win7磁盘清理_为什么要清理磁盘碎片,win7电脑怎么清理磁盘碎片
  4. Android逆向笔记-Proguard混淆Android代码以及去打印日志信息
  5. C++|Qt笔记-关于extern和namespace的区别与联系
  6. Qt工作笔记-html做界面时,QFileInfo小技巧,获取前端页面
  7. Qt学习笔记-仿大佬读取setting文件(简单工厂模式)
  8. 不混淆so文件_浅尝ollvm轻度混淆后的加密算法分析
  9. mysql 5.6 禁用 innodb_MYSQL 5.6中禁用INNODB引擎
  10. 汉字转html实体符号js_js转html实体