Qt获取IE地址栏内容
版权声明
本文为原创作品,请尊重作者的劳动成果。转载必须保持文章完整性,并以超链接形式注明原始作者“ tingsking18 ”和 主站点 地址,方便其他朋友提问和指正。
论坛上有人问到要用Qt获取IE地址栏内容。个人觉得有两种方法,一种是通过Hook来获取,这种办法不是正路子,也比较难搞,IE的有接口可以获取当前页面的URL。
一下代码示例了如何用Qt来获取IE地址栏内容。
下面代码在VS下很容易编译通过。如果是用mingw,需要安装w32api,另外头文件的包含可能会出现问题。要仔细检查一下。
下面是代码,Qt获取IE地址栏内容:
#include <QAxWidget> #include <QApplication> #include <QtGui> #include <Mshtml.h> #include <ATLbase.h> #include <winuser.h> #include <comdef.h> #include <Exdisp.h> #import <mshtml.tlb> // Internet Explorer 5 #import <shdocvw.dll> #include <QAxObject> #import <msxml6.dll> #include <QDialog> #include <QVBoxLayout> #include <QPushButton> #include <QLineEdit> class MainWindow:public QDialog { Q_OBJECT public slots: void OnClicked(); public: MainWindow(QWidget *parent=0); QPushButton *btn; QLineEdit *edt; }; MainWindow::MainWindow(QWidget *parent) { btn = new QPushButton(); btn->setText("click"); edt = new QLineEdit(); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(btn); layout->addWidget(edt); this->setLayout(layout); connect(btn,SIGNAL(clicked()),this,SLOT(OnClicked())); } void MainWindow::OnClicked() { CoInitialize(0); SHDocVw::IShellWindowsPtr m_spSHWinds; m_spSHWinds = NULL; if (m_spSHWinds == NULL) { if (m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)) != S_OK) { CoUninitialize(); } } int n = m_spSHWinds->GetCount(); for (int i = 0; i < n; i++) { _variant_t v = (long)i; IDispatchPtr spDisp = m_spSHWinds->Item(v); IWebBrowser2 *webBrowser = 0; spDisp.QueryInterface(IID_IWebBrowser2, &webBrowser); if (webBrowser) { IHTMLDocument2Ptr pDoc2=0; if (SUCCEEDED(webBrowser->get_Document( &spDisp))) pDoc2 = spDisp; //QAxWidget if(pDoc2!=NULL) { QString str; CComBSTR LocationURL; webBrowser->get_LocationURL(&LocationURL); char *buf = _com_util::ConvertBSTRToString(LocationURL.m_str); str = buf; edt->setText(str); } } } } #include "test.moc" int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow mw; mw.setMinimumWidth(500); mw.show(); return a.exec(); }
Qt获取IE地址栏内容相关推荐
- linux下qt浏览word文件内容,Qt获取office文件内容
Qt获取office文件内容 需要获取word文件的文件内容.网上找了好久,大部分都是excel的.而word的很少.所以在这里记录一下,方便大家查阅和自己使用. 使用的Qt版本是5.4.2 . 下面 ...
- Qt获取QTextEdit中的内容
1.主要用到了QTextEdit中的成员函数:toPlainText(): 2.在编辑框中写上内容,点击获取按钮,通过控制台输出获取到的内容. 3.全部源码在附件中,这里之贴出主要实现部分. Text ...
- php全面获取url地址栏及各种参数
php教程 全面获取url地址栏参数多种方法: $_SERVER["SERVER_PORT"] //获取端口 $_SERVER['HTTP_HOST'] //获取域名或主机地址 如 ...
- Qt获取鼠标位置(绝对位置、相对位置)
在进行界面编程时,经常需要获取鼠标的位置,特别是需要知道鼠标在界面上某个控件的相对位置.在Qt其实获取这几种位置还是比较简单的.首先我们需要了解Qt的坐标系统,Qt的坐标系统是有QPainter类控制 ...
- linux qt写入excel文件内容,Qt 读取Excel表格数据 生成Excel表格并写入数据
Qt 读取Excel表格数据 生成Excel表格并写入数据 Qt 读取Excel表格数据 生成Excel表格并写入数据 修改.pro文件,增加 axcontainer QT += axcontaine ...
- 使用 Qt 获取 UDP 数据并显示成图片
一个项目,要接收 UDP 数据包,解析并获取其中的数据,主要根据解析出来的行号和序号将数据拼接起来,然后将拼接起来的数据(最重要的数据是 R.G.B 三个通道的像素值)显示在窗口中.考虑到每秒钟要接收 ...
- html js文本框文字列出,js实现文本框中输入文字页面中div层同步获取文本框内容的方法...
这篇文章主要介绍了js实现文本框中输入文字页面中div层同步获取文本框内容的方法,实例分析了javascript操作dom元素的技巧,需要的朋友可以参考下 本文实例讲述了js实现文本框中输入文字页面中 ...
- html获取文本框的值,如何获取输入框的内容
js如何获取input输入框中输入的值 直接使用.value属性即可获取输入框的内容. 详细的步骤如下: 首先获取输入框对应的DOM元素,如: var bt=document.getElementBy ...
- js获取url地址栏参数的方法,解决中文乱码问题,能支持中文参数
js获取url地址栏参数的方法,解决中文乱码问题,能支持中文参数 参考文章: (1)js获取url地址栏参数的方法,解决中文乱码问题,能支持中文参数 (2)https://www.cnblogs.co ...
- selenium 获取请求返回内容的解决方案
selenium 获取请求返回内容的解决方案 参考文章: (1)selenium 获取请求返回内容的解决方案 (2)https://www.cnblogs.com/zgq123456/articles ...
最新文章
- 批量更新日期字段中的年
- ASP.NET 学习笔记_13 文章发布管理小系统
- [文章备份]源代码制图工具Understand最新可用注册码
- 学习练习 java 二分查找法
- 第 1 章 第 6 题 带重复数排序问题( 扩展 ) 位向量实现
- 业务自助分析怎么推?中梁集团办的这场BI建模大赛值得借鉴
- 剪映专业版 1.0.3中文修复版(支持M1芯片、适配Big Sur)
- 正则表达式判断是否为数字
- ajax调用一般应用程序,【Web前端】---js调用本地应用程序
- MyEclipse10安装破解教程
- 成为数据分析师要具备什么能力——招式篇
- 使用MODBUS转PROFINET智能网关实现与多个温控器数据读写
- 我爱赚钱吧:建网站也是可以赚钱的③
- 模电笔记 差分放大器1
- Mac 搭建Appium自动化测试环境
- 最长公共子序列 LCS(模板) poj 1458
- SQL Server 2005 高速下载
- 中信易卡,你值得搬砖吗?
- unity设置分辨率android,Unity Screen Screen.SetResolution 设置分辨率
- SDL已死,应用安全路在何方?
热门文章
- fpga如何约束走线_FPGA入门之我见- 布局布线(place route,PAR)
- 威斯敏斯特教堂(西敏寺)墓碑上的话(WestMinster Abbey,When I was young and free...,修身齐家治国平天下)
- H5移动端页面设计的基础规范
- Trace使用(camera)
- 在VirtualBox上安装Linux的Guest Additions
- upc 9367 雷涛的小猫
- What is UTF-8?
- 那些好玩的生成器网站(二)
- Power BI分解销售目标
- MySQL INTERVAL 关键字指南