无法使用WebBrowser(VC)发布数据



我有一个嵌入了CWebBrowser的MFC应用程序。我想在导航到指定的网站时发布数据。通过对互联网的调查,我知道Navigate方法的一个参数旨在传递它。但我尝试了好几次,总是失败。调用导航方法后,数据流量中不携带post数据(是的。我捕获数据并检查它)。我还检查了before2Navigate calback的post参数,它是空的。。

这是我的片段。

void PostData(LPCTSTR URL , LPCTSTR pPostData = NULL ) {
        _variant_t  flags(0L,VT_I4);
        _variant_t  target_frame_name("");
        _variant_t  post_data(!pPostData  ? _T("") : pPostData) ;  
        _variant_t  headers("Content-Type: application/x-www-form-urlencodedrn") ;
        this->Navigate(URL ,&flags,
            &target_frame_name,
            &post_data,
            &headers) ;     
    }

请帮帮我。非常感谢。

我已经找到了原因,那是由PostData的错误类型引起的。正如我的代码中提到的,PostData的构造使VT_BSTR变为VARIANT,而正确的构造是VT_ARRAY|VT_UI1

这是供您参考的链接,希望对您有所帮助。

http://support.microsoft.com/default.aspx?scid=KB;en-us;q167658

需要注意的一点是,VS的例子可能有缺陷,不能在unicode 中使用

相关内容

  • 没有找到相关文章

最新更新