|
在C++Builder中如何用“TCppWebBrowser”POST数据(3) BSTR bstrHeaders = NULL; TVariant vFlags = {0}, vTargetFrameName={0}, vPostData={0}, vHeaders={0}; LPSAFEARRAY psa; LPCTSTR CSzPostData = sPostData.c_str(); UINT cElems = lstrlen(cszPostData); LPSTR pPostData; LPVARIANT pvPostData; bstrHeaders = SysAllocString(L"Content-Type: application/x-www-form-urlencodedrn"); if (!bstrHeaders){ Application->MessageBox("Could not allocate bstrHeaders", "Warning", MB_OK MB_ICONWARNING); return; } V_VT(&vHeaders) = VT_BSTR; V_BSTR(&vHeaders) = bstrHeaders; pvPostData = vPostData; if(pvPostData){ VariantInit(pvPostData); psa = SafeArrayCreateVector(VT_UI1, 0, cElems); if(!psa){ return; } SafeArrayAccessData(psa, (LPVOID*)&pPostData); memcpy(pPostData, cszPostData, cElems); SafeArrayUnaccessData(psa); V_VT(pvPostData) = VT_ARRAY VT_UI1; V_ARRAY(pvPostData) = psa; } CppWebBrowser->Navigate((TVariant)sURL, &vFlags, &vTargetFrameName, &vPostData, &vHeaders); } 我没有理由相信这段代码是完美的.但是对于我先前的努力,它只有一个优点:它可以工作! 我希望能帮助你掌握在C++Builder中使用WebBrowser. 翻译:今天能看见山
|