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

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

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();
}

http://www.jsqmd.com/news/1039383/

相关文章:

  • VXLAN 学习笔记(下篇)
  • Django毕设项目:基于 Django+Vue 的电信业务资费结算管理系统的设计与实现 基于 Django+Vue 的移动通信资费后台管控平台 (源码+文档,讲解、调试运行,定制等)
  • PS501 EEPROM配置与校准实战:从参数解析到精准电量管理
  • 2026玉林防水补漏靠谱服务商盘点:屋面/厨卫/外墙/地下室渗水维修详解,适配桂东南盆地回南天防潮暴雨甄选指南 - 宅安选房屋修缮
  • 安达发|压铸行业生产排单软件:从经验派工到智能调度之变
  • 2026 佛山黄金回收去哪卖 加工碎金古法婚嫁金变现实操攻略 - 靖昱黄金回收
  • 2026十堰防水补漏靠谱服务商盘点:屋面/厨卫/外墙/地下室渗水维修详解,适配秦巴山区多雨湿冷山体渗水防潮甄选指南 - 宅安选房屋修缮
  • RE46C109低功耗报警驱动芯片:集成LDO与升压驱动的设计实战
  • 深度揭秘跨平台GPU加速引擎:whisper.cpp Vulkan后端架构与实践指南
  • 从CVE-2026-24763看沙箱逃逸:环境变量注入如何攻破AI智能体安全防线
  • ShowDoc文件上传漏洞复现:从环境搭建到代码审计的实战指南
  • 计算机毕业设计之创意产品众筹平台
  • 从人脸识别到AR面具:技术实现与创意应用全解析
  • 【人员】人员批量处理与外部数据导入
  • 5分钟快速上手OpenVSP:NASA开源飞机设计软件的完整教程
  • MPC801外部信号全景解析:从引脚到系统交互
  • 深入浅出CSRF攻击:从原理到防御,一篇搞定网络安全漏洞 | 程序员必学,建议收藏
  • 2026 年 6 月上海婚姻律师榜 专业靠谱婚家纠纷处理律师执业全梳理 - 外贸老黄
  • 如何高效管理音频资源:跨平台下载解决方案
  • 赛博格鼓手:机械臂协同演奏的技术实现与音乐应用
  • 2026盘锦防水补漏靠谱服务商盘点:屋面/厨卫/外墙/地下室渗水维修详解,适配辽河口滨海盐碱大风防冻甄选指南 - 宅安选房屋修缮
  • PL2303驱动兼容性终极指南:轻松搞定Windows 10/11黄色感叹号问题
  • NoFences:Windows桌面分区终极解决方案,免费开源告别图标杂乱
  • Discuz! X3.4安全攻防:从任意文件删除到完整Getshell攻击链深度剖析
  • 2026年当下揭阳知名的地下油罐清洗实力公司找哪家?专业实力推荐 - 品牌鉴赏官2026
  • 2026年当下徐州装饰装修公司推荐:聚焦实力与交付的理性之选 - 品牌鉴赏官2026
  • 量化模型怎么选,Q4_K_M 还是 Q5_K_S 在 Radeon 上区别大吗
  • “涪车出海”直达北非
  • 从菜单到意图(序):绪论
  • 嵌入式系统内存扩容实战:SPI串行SRAM 23X256原理与应用详解