我尝试隐藏我放入 DISPID_NEWWINDOW2 的 IWebBrowser2。
但没有幸运:-(
IWebBrowser2 在导航后始终可见。这就是为什么我尝试处理 DISIP_ONVISIBLE 并调用 put_Visible(VARIANT_FALSE) 来隐藏 IWebBrowser2 但这个事件只有在我自己调用 put_Visible() 时才会收到......
如何解决我的任务?
谢谢你的帮助。
实现NewWindow2
orNewWindow3
并设置ppDisp
为IWebBrowser2
.
要确保这个新实例不可见,请使用 put_Visible 或调用ShowWindow(SW_HIDE)
控件的容器。
您还可以设置*Cancel = VARIANT_TRUE
完全禁用弹出窗口。
实施NewWindow3
将为您提供目标网址。
STDMETHODIMP CMyBrowser::OnNewWindow3(IDispatch **ppDisp,
VARIANT_BOOL *Cancel,
DWORD dwFlags,
BSTR bstrUrlContext,
BSTR bstrUrl)
{
// spWebBrowser = create a newly instance of IWebBrowser2
ppDisp = (IDispatch*)spWebBrowser;
return S_OK;
}