lundi 2 mars 2015

IE11 BHO: Replacing ActiveX objects in HTML document


I'm developing a BHO, currently in IE11, that replaces specific ActiveX objects in document, by searching for the <object> tag with a determined CLSID.


I looked into handling the OnDocumentComplete event, searching for all the "object" tags using standard HTML interfaces, and I successfully replaced them; I checked in DOM Explorer and the new CLSIDs are there.


Now, there is an important drawback on this approach that renders it not functional. When I receive the OnDocumentComplete event the browser has already instantiated the DLLs specified by the CLSIDs on the document turning the new CLSIDs that I've replaced completely useless.


This is I think due to the ActiveX loading occurring immediately after loading document (that is, ReadyState = 2), while I receive the OnDocumentComplete event with ReadyState=4.


Does anyone knows if this kind of "ActiveX object replacement" is achievable using standard IE interfaces? I'm using C++.




Aucun commentaire:

Enregistrer un commentaire