|
我想用如下代码动态加载一个Web浏览器,并进入百度页面,
可是只出现一个带滚动条的窗口,并没进入网页,而且对话框绘图的其它操作也停止了,不知是什么问题
请高手指教
用的是WTL开发。
IWebBrowser2* WebBrowser;
static CAxWindow WinContainer;//这个是atl提供的com容器
。。。
HRESULT hr = S_OK;
VARIANT varMyURL;
RECT rc;
rc.top = 140;
rc.left = 20;
rc.bottom = 570;
rc.right = 580;
WinContainer.Create(this->m_hWnd, rc,0,
WS_CHILD|WS_VISIBLE|WS_VSCROLL );
LPOLESTR pszName= OLESTR("Microsoft.IExplorer.9");
WinContainer.CreateControl(pszName);
WinContainer.QueryControl( __uuidof(IWebBrowser2), (void**)&WebBrowser);
VariantInit(&varMyURL);
varMyURL.vt = VT_BSTR;
#ifndef UNICODE
{
wchar_t *buffer;
DWORD size;
size = MultiByteToWideChar(CP_ACP, 0, "http://www.baidu.com", -1, 0, 0);
if (!(buffer = (wchar_t *)GlobalAlloc(GMEM_FIXED, sizeof(wchar_t) * size))) return FALSE;
MultiByteToWideChar(CP_ACP, 0, "http://www.baidu.com", -1, buffer, size);
varMyURL.bstrVal = SysAllocString(buffer);
GlobalFree(buffer);
}
#else
varMyURL.bstrVal = SysAllocString(_T("http://www.baidu.com"));
#endif
WebBrowser-> Navigate2(&varMyURL,0,0,0,0);
CComVariant v;
VariantClear(&varMyURL);
WebBrowser-> Release();
|
|