C++ 调用 JavaScript(3)_C/C++语言_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

C++ 调用 JavaScript(3)

作者:黑客防线网安C/C++教程基地 来源:黑客防线网安C/C++教程基地 浏览次数:0

本篇关键词:调用 &return
黑客防线网安网讯:   TML document COM object");    return false;    }    return true;    }   bool CWebPage::GetJScript(CComPtr<IDispatch>& spDisp)    {    CHECK_POINTER(m_spDoc);    if (NULL =...
   TML document COM object");
    return false;
    }
    return true;
    }
   bool CWebPage::GetJScript(CComPtr<IDispatch>& spDisp)
    {
    CHECK_POINTER(m_spDoc);
    if (NULL == m_spDoc)
    {
    return false;
    }
    HRESULT hr = m_spDoc->get_Script(&spDisp);
    ATLASSERT(SUCCEEDED(hr));
    return SUCCEEDED(hr);
    }
    bool CWebPage::GetJScripts(CComPtr<IHTMLElementCollection>& spColl)
    {
    CHECK_POINTER(m_spDoc);
    HRESULT hr = m_spDoc->get_scripts(&spColl);
    ATLASSERT(SUCCEEDED(hr));
    return SUCCEEDED(hr);
    }
    bool CWebPage::CallJScript(const string strFunc,CComVariant* pVarResult)
    {
    vector<string> paramArray;
    return CallJScript(strFunc,paramArray,pVarResult);
    }
    bool CWebPage::CallJScript(const string strFunc,const string strArg1,CComVariant* pVarResult)
    {
    vector<string> paramArray;
    paramArray.push_back(strArg1);
    return CallJScript(strFunc,paramArray,pVarResult);
    }
    bool CWebPage::CallJScript(const string strFunc, const vector<string>& paramArray,CComVariant* pVarResult)
    {
    CComPtr<IDispatch> spScript;
    if(!GetJScript(spScript))
    {
    ShowError("Cannot GetScript");
    return false;
    }
    CComBSTR bstrMember(strFunc.c_str());
    DISPID dispid = NULL;
    HRESULT hr = spScript->GetIDsOfNames(IID_NULL,&bstrMember,1,
    LOCALE_SYSTEM_DEFAULT,&dispid);
    if(FAILED(hr))
    {
    ShowError(GetSystemErrorMessage(hr).c_str());
    return false;
    }
    const int arraySize = paramArray.size();
    DISPPARAMS dispparams;
    memset(&dispparams, 0, sizeof dispparams);
    dispparams.cArgs = arraySize;
    dispparams.rgvarg = new VARIANT[dispparams.cArgs];
    for( int i = 0; i < arraySize; i++)
    {
    CComBSTR bstr = paramArray[arraySize - 1 - i].c_str();
    bstr.CopyTo(&dispparams.rgvarg[i].bstrVal);
    dispparams.rgvarg[i].vt = VT_BSTR;
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-15261-1.html
网站维护教程更新时间:2012-04-04 22:52:29  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer