2013-06-01 86 views
0

IWebExplorer2::Navigate(..) (or Navigate2)无法导航某些网址。像在浏览以下网址时一样:*https://www.facebook.com/dialog/oauth/?api_key=<MyKey>&redirect_uri=<MyUri>&state=NONE* , I am getting the error **Error reading characters of string** in **DISPID_NAVIGATEERROR**IWebExplorer2 Navigate failed with Error reading characters of string

...... 
wchar_t ws[MAX_PATH]; 
TCharToWide(url,ws,MAX_PATH); 

VARIANT v; v.vt=VT_I4; v.lVal=0; //v.lVal=navNoHistory; 
ibrowser->Navigate(ws,&v,NULL,NULL,NULL); 
...... 

void TCharToWide(const wchar_t *src,wchar_t *dst,int dst_size_in_wchars){wcscpy(dst,src);} 

请任何人告诉我我失踪了什么?

在此先感谢。

回答

0

正在关注Navigate2 method URL类型是变体,并且对于Navigate方法url类型是BSTR;如果您有ATL支持,您可以将Navigator2或CComBSTR与Navigate一起使用CComVariant;

NavToURL(L"www.google.com", FALSE); 

BOOL NavToURL(const wchar_t* url, BOOL isnewtab){ 
    CComVariant vEmpty; 
    CComVariant vURL(url); 
    CComVariant flag=isnewtab ? 0x0800 : vEmpty; 
    ibrowser->Navigate2(&vURL, &flag, &vEmpty, &vEmpty, &vEmpty); 
    return TRUE; 
} 
相关问题