ATL编写的COM组件调用启动页面的Javascript函数

1,添加一个属性 类型为 IDispatch *

2,在javascript中将函数(function)对象赋值给该属性。

3,在COM中通过invoke调用该function

CComVariant result;
CComVariant avarParams[1] = {str};
DISPPARAMS dispParams = {avarParams, NULL, 1, 0};
EXCEPINFO excepInfo;
memset(&excepInfo, 0, sizeof excepInfo);
UINT nArgErr = (UINT)-1; // initialize to invalid arg
if (m_onState) 
HRESULT hr = m_onState->Invoke(0, IID_NULL, LOCALE_USER_DEFAULT,
DISPATCH_METHOD, &dispParams, &result, &excepInfo, &nArgErr);

原文地址:https://www.cnblogs.com/whutzhou/p/2701469.html