C++,VS2008,怎样使用获取Webbrowser控件上网页的iWebbrowser2接口或IHTMLDocument接口?

使用ShellWindows只能获得电脑上当前打开的IE浏览器的网页接口,怎样才能取到mfc程序中Webbrowser控件上网页的iWebbrowser2接口或IHTML... 使用ShellWindows只能获得电脑上当前打开的IE浏览器的网页接口,怎样才能取到mfc程序中Webbrowser控件上网页的iWebbrowser2接口或IHTMLDocument接口。
下面是用ShellWindows获取IE浏览器接口的程序,能进行改动实现我要的功能么?或者另外别的方法?
int CWebSaveDlg::get_ihDoc()
{
::CoInitialize(NULL);
SHDocVw::IShellWindowsPtr m_spSHWinds; //定义接口变量

if (m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)) != S_OK)
CoUninitialize();

if (!m_spSHWinds)
return 2;
int n = m_spSHWinds->GetCount(); //得到当前实例/浏览器的个数

for (int i = 0; i < n; i++) //遍历每一个浏览器
{
_variant_t v = (long)i;
IDispatchPtr spDisp = m_spSHWinds->Item(v); //得到每一个实例对象
SHDocVw::IWebBrowser2Ptr spBrowser(spDisp); //生成一个IE窗口的智能指针
if (!spBrowser) continue;
else
SetDlgItemText(IDC_EDIT1,_T("获取iwebrowser2成功"));

_bstr_t bName = spBrowser->GetLocationName();
char *title = bName;

// 获取ihtmldocument2接口
IHTMLDocument2Ptr spDoc = (IHTMLDocument2Ptr)spBrowser->GetDocument();
}
::CoUninitialize();
return 0;
}
展开
 我来答
kobe409
2012-08-07 · 超过27用户采纳过TA的回答
知道答主
回答量:166
采纳率:0%
帮助的人:76.8万
展开全部
IHTMLDocument2 *pDoc2;
IDispatch *WebDocument=static_cast<IDispatch*>(CppWebBrowser1->Document);
pDoc2=static_cast<IHTMLDocument2*>(WebDocument);
或者直接用QueryInterface。
更多追问追答
追问
这个CppWebBrowser1指的是什么,应该对应我程序中的Webbrowser控件么?
追答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式