尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

VS2019使用Microsoft Web Browser控件获取网页源码

VS2019使用Microsoft Web Browser控件获取网页源码
📅 发布时间:2026/6/19 1:41:21

VS2019使用Microsoft Web Browser控件实例
VS2019使用Microsoft Web Browser控件实例-CSDN博客文章浏览阅读7.5k次,点赞2次,收藏8次。通过ActiveX控件 Microsoft Web Browser 可以实现简易的浏览器访问,但网上大多文章都是片段式的,所以写个完整的实现流程。1.首先创建一个基于对话框的MFC项目,命名为WebBrowserDemo;2.打开主窗口,添加一个编辑框,用来输入网址;然后右键,插入ActiveX控件,选择Microsoft Web Browser;3.然后添加控件变量,第一种就是默认的CEXPLORER1变量类型;然后会自动生成CEXPLORER1.h,但是这里面会有IWe._microsoft web browserhttps://blog.csdn.net/can_yi/article/details/123853595上面是添加控件的方法,感谢上面的博主提供简单易懂的文章,一看就明白了。下面我记录一下Microsoft Web Browser获取网页源码的方法。

步骤一、pch.h添加如下内容:

// 放在afxhtml.h前后屏蔽33005头文件警告
#pragma warning(push)
#pragma warning(disable: 33005)
#include <afxhtml.h>
#pragma warning(pop)

#include <mshtml.h>

#include <atlbase.h>
#include <atlcom.h>

步聚二、添加一个编辑框控件和一个按钮,这些简单的自己百度或者Ai。下面提给代码:

void CMFCApplication1Dlg::DocumentCompleteExplorer1(LPDISPATCH pDisp, VARIANT* URL)
{
// TODO: 在此处添加消息处理程序代码
//IDispatch* pDocDisp = m_web.get_Document();
CComPtr<IDispatch> pDocDisp = m_web.get_Document();

if (!pDocDisp) {
MessageBox(_T("获取文档对象失败"));
return;
}

CComPtr<IHTMLDocument2> pHTMLDoc;
HRESULT hr = pDocDisp.QueryInterface(&pHTMLDoc);

// ========== 获取网页标题 ==========
CComBSTR bstrTitle;
pHTMLDoc->get_title(&bstrTitle);
CString strTitle(bstrTitle);
MessageBox(strTitle, _T("网页标题"));

// ========== 获取body完整HTML源码 ==========
CComPtr<IHTMLElement> pBody;
pHTMLDoc->get_body(&pBody);

CComBSTR htmlStr;
pBody->get_innerHTML(&htmlStr);
CString strSource(htmlStr);

// 测试弹窗输出源码
MessageBox(strSource, _T("网页源码"));
}


void CMFCApplication1Dlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
if (!m_web.m_hWnd)
{
MessageBox(_T("浏览器控件未创建完成"));
return;
}
CString strURL;
GetDlgItemText(IDC_EDIT1, strURL);
m_web.Navigate(strURL, nullptr, nullptr, nullptr, nullptr);
//CDialogEx::OnOK();
}

相关新闻

  • 2026玉林防水补漏靠谱服务商盘点:屋面/厨卫/外墙/地下室渗水维修详解,适配桂东南盆地回南天防潮暴雨甄选指南 - 宅安选房屋修缮
  • Django毕设项目:基于 Django+Vue 的电信业务资费结算管理系统的设计与实现 基于 Django+Vue 的移动通信资费后台管控平台 (源码+文档,讲解、调试运行,定制等)
  • RE46C109低功耗报警驱动芯片:集成LDO与升压驱动的设计实战

最新新闻

  • 2026最新领英账户解封全攻略指南:从领英封禁类型到高效申诉恢复实操
  • CMOS LDO选型与应用实战:TC1223/TC1224低功耗电源设计指南
  • 如何在Chrome浏览器中快速生成和识别二维码:终极二维码处理技巧指南
  • 风力发电机运行数据的分析与应用技巧
  • 24CW系列EEPROM软件写保护与硬件地址配置实战指南
  • 深入解析T1023RDB开发板:从Power Architecture核心到高速接口的硬件设计实战

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号