Вы можете получить доступ к интерфейсу сценариев ActiveX из элемента через метод IHTMLObjectElement :: object. Ищите IShockwaveFlash в группе новостей microsoft.public.inetsdk.programming.webbrowser_ctl для получения дополнительной информации об этом.
Если вы используете Windows Forms, интерфейс html-элемента предоставляется через HtmlElement.DomElement . Вы можете добавить ссылку на microsoft.mshtml и привести DomElement к IHTMLObjectElement, затем получить его свойство объекта и привести к IShockwaveFlash.
В ATL код выглядит так
#import "flash.dll" raw_interfaces_only
CComPtr<IDispatch> htmlElement;
CComPtr<IDispatch> activeXObject;
hr = GetElement(elementIdString, &htmlElement);
if (htmlElement!= NULL)
{
CComQIPtr<IHTMLObjectElement> htmlObjectElement(htmlElement);
if (htmlObjectElement!= NULL)
{
htmlObjectElement->get_object(&activeXObject);
CComQIPtr<ShockwaveFlashObjects::IShockwaveFlash, &IID_IUnknown> flashViewer(spdispActiveXObject);
if(flashViewer!=NULL)
{
//do something on the flash
CComBSTR movie;
flashViewer->get_Movie(&movie);
}
}
}