Как мне разработать аддон для ie в .net. В основном я собираюсь разработать встроенный аддон для проверки орфографии, такой как IE7Pro.
Разработка дополнений для IE в .net
Ответы (3)
Вы можете попробовать: http://code.msdn.microsoft.com/SpicIE
Но в целом наличие управляемых надстроек не идеально, поскольку .net не работает параллельно. Таким образом, если другая надстройка использует .net, то первая загружаемая надстройка определяет версию .net, используемую другими надстройками, что может быстро вызвать проблемы.
Вам нужно будет создать EXE/DLL, маскирующийся под COM-объект, то есть CCW (COM Callable Wrapper), который с обеих сторон .NET и COM выглядит как собственный COM-объект, который реализует интерфейсы IDispatch, IUnknown и многие другие.
Вы должны придерживаться интерфейсов COM, чтобы IE мог «видеть» ваш код .NET. Однако я не могу предоставить подробную информацию для IE с точки зрения того, какие интерфейсы требуются для того, чтобы IE мог вызывать ваши методы среды выполнения .NET, поскольку это выходит за рамки моего понимания.
Но важным ключевым словом здесь является CCW. Вот статья о CodeProject, в которой показано, как это можно сделать, хотя и не обязательно о создании IE Addon, но будет показано, как создать CCW.
Это достигается установкой атрибута в ваших классах и методах.
[Guid(some_guid)] [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
some_guid, как показано выше, будет создан с помощью инструмента VS "Создать GUID" в меню Инструменты.
В зависимости от того, что IE требует для подключения к вашим классам .NET, он увидит его как «собственный» COM-объект с интерфейсами IUnknown, IDispatch и т. д.
Надеюсь, это даст вам правильное направление и подсказку, С уважением, Том.