VS2019使用Microsoft Web Browser控件实例VS2019使用Microsoft Web Browser控件实例-CSDN博客文章浏览阅读7.5k次点赞2次收藏8次。通过ActiveX控件 Microsoft Web Browser 可以实现简易的浏览器访问但网上大多文章都是片段式的所以写个完整的实现流程。1.首先创建一个基于对话框的MFC项目命名为WebBrowserDemo2.打开主窗口添加一个编辑框用来输入网址然后右键插入ActiveX控件选择Microsoft Web Browser3.然后添加控件变量第一种就是默认的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();CComPtrIDispatch pDocDisp m_web.get_Document();if (!pDocDisp) {MessageBox(_T(获取文档对象失败));return;}CComPtrIHTMLDocument2 pHTMLDoc;HRESULT hr pDocDisp.QueryInterface(pHTMLDoc);// 获取网页标题 CComBSTR bstrTitle;pHTMLDoc-get_title(bstrTitle);CString strTitle(bstrTitle);MessageBox(strTitle, _T(网页标题));// 获取body完整HTML源码 CComPtrIHTMLElement 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();}
VS2019使用Microsoft Web Browser控件获取网页源码
发布时间:2026/6/19 1:19:37
VS2019使用Microsoft Web Browser控件实例VS2019使用Microsoft Web Browser控件实例-CSDN博客文章浏览阅读7.5k次点赞2次收藏8次。通过ActiveX控件 Microsoft Web Browser 可以实现简易的浏览器访问但网上大多文章都是片段式的所以写个完整的实现流程。1.首先创建一个基于对话框的MFC项目命名为WebBrowserDemo2.打开主窗口添加一个编辑框用来输入网址然后右键插入ActiveX控件选择Microsoft Web Browser3.然后添加控件变量第一种就是默认的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();CComPtrIDispatch pDocDisp m_web.get_Document();if (!pDocDisp) {MessageBox(_T(获取文档对象失败));return;}CComPtrIHTMLDocument2 pHTMLDoc;HRESULT hr pDocDisp.QueryInterface(pHTMLDoc);// 获取网页标题 CComBSTR bstrTitle;pHTMLDoc-get_title(bstrTitle);CString strTitle(bstrTitle);MessageBox(strTitle, _T(网页标题));// 获取body完整HTML源码 CComPtrIHTMLElement 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();}