为什么不能够在当前页面打开网页????错误在哪里?
void open_ie(IWebBrowser2* p_WebBrowser, char* purl)
{
// p_WebBrowser是获得的当前网页的指针,我象在这个页面在打开一个网页?但是不要弹出一个新的,可是下面的代码总是弹出一个新的,为什么???
CoInitialize(NULL);
IWebBrowser2* m_pWebBrowser = NULL;
if (m_pWebBrowser != NULL)
{
m_pWebBrowser->Release ();
m_pWebBrowser = NULL;
}
HRESULT hr;
IWebBrowser2* pWebBrowser = NULL;
if(!p_WebBrowser){
hr = CoCreateInstance (CLSID_InternetExplorer, NULL, CLSCTX_SERVER, IID_IWebBrowser2, (LPVOID*)&pWebBrowser);
if(!SUCCEEDED(hr)){
return ;
}
}
else{
pWebBrowser = p_WebBrowser;
}
if(pWebBrowser != NULL)
{
m_pWebBrowser = pWebBrowser;
LPCTSTR lpszTargetFrameName = "_SELF";
CString strURL = purl;
BSTR bstrURL = strURL.AllocSysString ();
COleSafeArray vPostData;
VARIANT var;
var.vt = VT_I4;
var.ulVal = 0;
VARIANT headers;
headers.vt = VT_BSTR;
headers.bstrVal = NULL;
if(m_pWebBrowser->Navigate (bstrURL, &var, COleVariant (lpszTargetFrameName, VT_BSTR), &vPostData, &headers)!=S_OK){
AfxMessageBox("Navigation fail");
}
SysFreeString (bstrURL);
}
else
{
if (pWebBrowser)
pWebBrowser->Release ();
ShellExecute(NULL, 0, "http://www.163.com", NULL, NULL, SW_SHOW);
}
CoUninitialize();
}
问题点数:20、回复次数:0Top




