2013-06-01 122 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; 
} 
相關問題