IWebBrowser2 *m_spBrowser问题

wzw200 2009-06-20 10:50:38
我在MFC ActiveX里调用这个东西操作IE 怎么老是出错呢
IWebBrowser2 *m_spBrowser;
m_spBrowser->put_FullScreen(VARIANT_TRUE);

那位做过这方面的东西,能帮下忙吗
谢谢!!
...全文
75 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
memese 2009-06-29
  • 打赏
  • 举报
回复
m_spBrowser 为NULL当然出错了..
z888c 2009-06-27
  • 打赏
  • 举报
回复
首先我们来看系统是如何知道当前有多少个IE的实例在运行。
我们知道在Windows体系结构下,一个应用程序可以通过操作系统的运行对象表来和这些应用的实例进行交互。但是IE当前的实现机制是不在运行对象表中进行注册,所以需要采用其他的方法。我们知道可以通过ShellWindows集合来代表属于shell的当前打开的窗口的集合,而IE就是属于shell的一个应用程序。

描述一下用VC实现对当前 IE实例的进行遍历的方法。
IShellWindows是关于系统shell的一个接口,我们可以定义一个如下的接口变量:

IShellWindowsPtr m_spSHWinds;
//然后创建变量的实例:
m_spSHWinds.CreateInstance(__uuidof(ShellWindows));
//通过IShellWindows接口的方法GetCount可以得到当前实例的数目:
long nCount = m_spSHWinds- >GetCount();
//通过IShellWindows接口的方法Item
//可以得到每一个实例对象
IDispatchPtr spDisp;
_variant_t va(i, VT_I4);
spDisp = m_spSHWinds->Item(va);
//然后我们可以判断实例对象是不是
//属于IE浏览器对象,通过下面的语句实现:
IWebBrowser2Ptr spBrowser(spDisp);
assert(spBrowser != NULL)

//在得到了IE浏览器对象以后,我们可以调用IWebBrowser2Ptr接口的方法来得到当前的文档对象的指针:
IHTMLDocument2Ptr spDoc(spBrowser->GetDocument());

然后我们就可以通过这个接口对这个文档对象进行操作,比如通过Gettitle得到文档的标题......
wzw200 2009-06-22
  • 打赏
  • 举报
回复
楼上高人 谢谢你的回复,!
我不能直接用 ,我还在找找资料
oyljerry 2009-06-20
  • 打赏
  • 举报
回复
HRESULT hr = S_OK;
IServiceProvider *isp, *isp2 = NULL;
if (!pClientSite)
{
COMRELEASE(browser);
}
else
{
hr = pClientSite->QueryInterface(IID_IServiceProvider, reinterpret_cast<void **>(&isp));
if (FAILED(hr))
{
hr = S_OK;
goto cleanup;
}
hr = isp->QueryService(SID_STopLevelBrowser, IID_IServiceProvider, reinterpret_cast<void **>(&isp2));
if (FAILED(hr))
{
hr = S_OK;
goto cleanup;
}
hr = isp2->QueryService(SID_SWebBrowserApp, IID_IWebBrowser2, reinterpret_cast<void **>(&browser));
if (FAILED(hr))
{
hr = S_OK;
goto cleanup;
}
cleanup:
// Free resources.
COMRELEASE(isp);
COMRELEASE(isp2);
return hr;
}
wzw200 2009-06-20
  • 打赏
  • 举报
回复
获取当前IE的
topic.csdn.net/t/20040816/15/3279214.html

好像没有答案啊
wzw200 2009-06-20
  • 打赏
  • 举报
回复
我只是想当IE全屏下,然后再回来。
wzw200 2009-06-20
  • 打赏
  • 举报
回复
我是想通过那个指针 操作IE ,可老是出错,你能说的明白点吗
你说了两种方法能具体说下怎么用吗 谢谢!
oyljerry 2009-06-20
  • 打赏
  • 举报
回复
或者获取当前IE的

topic.csdn.net/t/20040816/15/3279214.html
oyljerry 2009-06-20
  • 打赏
  • 举报
回复
你的IWebBrowser2 控件要Create创建

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧