CDHtmlDialog 调用javascript

   IHTMLDocument2*   pDocument;  
  HRESULT   hr   =   GetDHtmlDocument(&pDocument);  
  IHTMLWindow2*   pWindow;  
  hr   =   pDocument->get_parentWindow(&pWindow);  
  VARIANT   ret;  
  ret.vt     =   VT_EMPTY;  

  CComBSTR   func=_T("getAlert()");
  CComBSTR   lang=_T("javascript");

  //hr = pWindow->execScript( _T("getAlert()"), _T("javascript"), &ret);
 // hr = pWindow->execScript( func, lang,&ret);


  DISPID dispid;
  DISPPARAMS dispparams;
  memset(&dispparams, 0, sizeof dispparams);

  dispparams.cArgs=1;
  dispparams.rgvarg = new VARIANT[dispparams.cArgs];
  CComBSTR fromMFC=_T("from mfc");
  fromMFC.CopyTo(&dispparams.rgvarg[0].bstrVal);
  dispparams.rgvarg[0].vt = VT_BSTR;


  EXCEPINFO excepInfo;
  memset(&excepInfo, 0, sizeof excepInfo);
  CComVariant vaResult;
  UINT nArgErr = (UINT)-1;  

  CComBSTR   szMember = _T("getAlert");




  hr = pWindow->GetIDsOfNames(IID_NULL, &szMember,1,LOCALE_SYSTEM_DEFAULT,&dispid);    
  hr = pWindow->Invoke(dispid, IID_NULL, 0, DISPATCH_METHOD, &dispparams, &vaResult, &excepInfo,&nArgErr);

  MessageBox(vaResult.bstrVal);

  pDocument->Release();
  pWindow->Release();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值