为什么在做BHO时得不到IWebBrowser2的指针?
STDMETHODIMP CBHOTest::SetSite(IUnknown* punkSite)
{
if(punkSite)
{
CComQIPtr<IWebBrowser2, &IID_IWebBrowser2> _WebBrowser2;
_WebBrowser2= punkSite;
if (_WebBrowser2 == NULL)
MessageBox(NULL,"DEBUG:SetSite():_WebBrowser2==NULL.","DEBUG",0);
//问题就在这里,_WebBrowser2总是取不到值,总是==NULL,请问该怎么办?
}
return S_OK;
}
STDMETHODIMP CBHOTest::SetSite(IUnknown* punkSite)
{
if(punkSite)
{
CComQIPtr<IWebBrowser2, &IID_IWebBrowser2> _WebBrowser2;
_WebBrowser2= punkSite;
if (_WebBrowser2 == NULL)
MessageBox(NULL,"DEBUG:SetSite():_WebBrowser2==NULL.","DEBUG",0);
//问题就在这里,_WebBrowser2总是取不到值,总是==NULL,请问该怎么办?
}
return S_OK;
}
if (SUCCEEDED(hr))
hr = wnd.SetExternalDispatch(static_cast<IIEWindowUI*>(this));
if (SUCCEEDED(hr))
hr = wnd.QueryControl(IID_IWebBrowser2, (void**)&m_spBrowser);
谢谢你的方法,我没试,但我觉得应该能实现。
我是想知道,有没有不用MFC就能得到IWebBrowse2指针的方法,
请不吝赐教。
PS:另外还想请教大家,作atl的时候使用的哪些头文件会跟MFC的头文件
冲突,我只要用了atlbase.h,就不能用AFX.h,AFXWin.h,有什么解决的办法么?也就是如何在作atl的时候用MFC?