Hook JScript functions using IActiveScript using C++
I am trying to hook up or get some kind of a notification event when
the script engine is executing a certain JScript function.
The script engine is not hosted in IE, but in an independent
application.
The Java script functions are declared in the following way:
component.prototype.XXX = function( ... )
I tried looking for the function DISPID so I could recognize when it is
being called using through Invoke().
I have an instance of IActiveScript and tried to enumerate all the
available DISPIDs, but could not notice any member name that is similar
to the above function name prototype.
The DISPIDs enumeration code:
------------------------------------------------------
IDispatch *pDispatch = 0;
hr = GetScriptDispatch(pstrName, &pDispatch);
if (hr == S_OK)
{
IDispatchEx *pDispatchEx;
hr = pDispatch->QueryInterface(IID_IDispatchEx, (void
**)&pDispatchEx);
if (hr == S_OK)
{
pdex = pDispatchEx;
// Assign to pdex
hr = pdex->GetNextDispID(fdexEnumAll, DISPID_STARTENUM, &dispid);
while (hr == NOERROR)
{
hr = pdex->GetMemberName(dispid, &bstrName);
hr = pdex->GetNextDispID(fdexEnumAll, dispid, &dispid);
}
}
}
Is there any way of getting such an event ?
Thanks,
Eran.