黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Navigate2 compare with Navigate

系統 2135 0
CWebBrowser2 ctrl provide two method to link a web page:
Navigate2(VARIANT* URL, VARIANT* Flags, VARIANT* TargetFrameName, VARIANT* PostData, VARIANT* Headers)
Navigate(LPCTSTR URL, VARIANT* Flags, VARIANT* TargetFrameName, VARIANT* PostData, VARIANT* Headers)

My requirement is very simple, give a link: such as www.sina.com, navigate to web page.
At first, I use method Navigate because it is easy to use.
But sometimes I find that it get a error page while I can link the web page with other browser.

After a long time research, I can not find a good solution, then I found the method Navigate2. I wrote a method to rope it as follow:
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--> ?1 ? void ?Navigate2(CString?szHtmlUrl)
?2 ? {
?3 ? ???? try
?4 ? ????{
?5 ? ????????VARIANT?vFlags? = ?{VT_I4,?navNoReadFromCache};
?6 ? ????????VARIANT?vUrl;?
?7 ? ????????VariantInit( & vUrl);
?8 ? ????????BSTR?bstrUrl? = ?szHtmlUrl.AllocSysString();
?9 ? ????????vUrl.vt? = ?VT_BSTR;
10 ? ????????vUrl.bstrVal? = ?bstrUrl;
11 ? ????????m_web.Navigate2( & vUrl,? & vFlags,?NULL,?NULL,?NULL); // ?refresh?top?browser's?content
12 ? ????????g_Logger.Add(LOGLEVEL_FYI,?_T( " Navigate2TopBanner,?Top?link?Url:?%s " ),?szHtmlUrl);
13 ? ????????::SysFreeString(bstrUrl);
14 ? ????}
15 ? ???? catch ( ){}
16 ? }
It works well....

Compare the implements:
<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--> 1 ? void ?CWebBrowser2::Navigate(LPCTSTR?URL,?VARIANT * ?Flags,?VARIANT * ?TargetFrameName,?VARIANT * ?PostData,?VARIANT * ?Headers)
2 ? {
3 ? ???? static ?BYTE?parms[]? =
4 ? ????????VTS_BSTR?VTS_PVARIANT?VTS_PVARIANT?VTS_PVARIANT?VTS_PVARIANT;
5 ? ????InvokeHelper( 0x68 ,?DISPATCH_METHOD,?VT_EMPTY,?NULL,?parms,
6 ? ?????????URL,?Flags,?TargetFrameName,?PostData,?Headers);
7 ? }

<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--> 1 ? void ?CWebBrowser2::Navigate2(VARIANT * ?URL,?VARIANT * ?Flags,?VARIANT * ?TargetFrameName,?VARIANT * ?PostData,?VARIANT * ?Headers)
2 ? {
3 ? ???? static ?BYTE?parms[]? =
4 ? ????????VTS_PVARIANT?VTS_PVARIANT?VTS_PVARIANT?VTS_PVARIANT?VTS_PVARIANT;
5 ? ????InvokeHelper( 0x1f4 ,?DISPATCH_METHOD,?VT_EMPTY,?NULL,?parms,
6 ? ?????????URL,?Flags,?TargetFrameName,?PostData,?Headers);
7 ? }

I find that they invoked different? dwDispID ? of? InvokeHelper , get the explain from MSDN:

Parameters

dwDispID
Identifies the method or property to be invoked.

Who can tell me what's the differents of 0x1f4 between 0x68?

Navigate2 compare with Navigate


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論