Я написал плагин Firefox (совместим только с FF3 atm), который позволяет размещать элементы управления ActiveX.
Прежде, чем начнется пылание - это не основная тема для этого вопроса, и плагин был разработан с учетом безопасности, поэтому он не разбивает мой любимый браузер. если вы заинтересованы, он размещен по адресу http://code.google.com/p/ff-activex-host/.Событие OnReadyStateChange в элементах ActiveX
Теперь я заметил, что в IE все элементы управления ActiveX имеют событие OnReadyStateChange, однако не все элементы ActiveX имеют это событие, указанное в их TypeLib. В результате мой плагин не может регистрировать обработчики для этого события для каждого элемента управления ActiveX.
Открытие таких элементов управления с помощью OleView, я также не могу найти событие OnReadyStateChange - заставляя меня думать, что IE может быть «обманывать» здесь, чтобы заставить его работать. Когда OleView показывает такой обработчик (как и с элементом управления Shockwave ActiveX), у меня нет проблем с регистрацией обработчиков.
Примером такого контроля может служить ActiveX для служб терминалов Microsoft. Но это не проблема, ограниченная элементами управления MS ActiveX.
Я не эксперт в COM-объектах, я искал событие неправильным образом или не в том месте?
Прямо сейчас я думаю, что я делаю это правильно, так как OleView тоже не может найти его, поэтому ...
Могу ли я как-то «обмануть» то же самое, как IE делает и делает это событие доступным в любом случае?
Спасибо! Я также был бы признателен, если бы вы могли указать мне в общем направлении того, что мне нужно было бы сделать, чтобы реализовать такой агрегат. Трудно найти что-либо в msdn, если у вас нет имени API-интерфейса для начала. –
См. Http://support.microsoft.com/kb/173823. – AnthonyWJones