网上搜了一大堆,没有几个看得明白的汗比如 我写了一个js【请注意,以下代码是保存在*.js文件里面的】function put()
{
        var date=new Date().getTime();
         return date
}var b=put();现在MFC程序中怎么去得到b的值;我现在想把上面的代码 赋给MFC的一个CString,然后用的时候 直接 执行这个字符串,怎么做得到?谢谢各位的回答,小弟不才哈

解决方案 »

  1.   


    //#import "C:\WINDOWS\system32\msscript.ocx" //添加此句代码以后编译一次,否则vx不会提示
    CoInitialize(NULL); 
    CString strJsCode = _T("function put()\
    {var date=new Date().getTime();\
    return date+'';}");//date不是字符串类型的,需要转换为字符串类型
    using namespace MSScriptControl;
    //不用这一句就要把IScriptControlPtr改为MSScriptControl::IScriptControlPtr IScriptControlPtr spScript(__uuidof(ScriptControl));
    HRESULT hr = spScript->put_Language(_bstr_t(_T("JavaScript")));//不能使用CComBSTR代替
    hr = spScript->AddCode(_bstr_t(strJsCode));
    _variant_t  vRet = spScript->Eval(_bstr_t(_T("put();")));
      AfxMessageBox(vRet.bstrVal);vs2008sp1 + winxpsp3编译通过.