Поделиться через


Программа импорта элементов ActiveX форм Windows (Aximp.exe)

Обновлен: Ноябрь 2007

Программа для импорта элементов управления ActiveX в формы Windows Forms преобразует определения типов из библиотек COM-типов элементов управления ActiveX в элементы управления форм Windows Forms.

Формы Windows Forms могут содержать только элементы управления форм Windows Forms, то есть классы, производные от класса Control. Aximp.exe создает класс-оболочку для элемента управления ActiveX, который может быть размещен в форме Windows Form. Это позволяет использовать во время разработки ту же методологию программирования и поддержки, что и для других элементов управления Windows Forms.

Чтобы вставить элемент управления ActiveX, необходимо создать элемент управления-оболочку, производный от AxHost. Эта оболочка содержит экземпляр базового элемента управления ActiveX. Оболочка может взаимодействовать с элементом управления ActiveX, но выглядит как элемент управления Windows Forms. Созданный элемент управления инкапсулирует элемент управления ActiveX и представляет его свойства, методы и события как свои собственные члены.

aximp [options]{file.dll | file.ocx}

Заметки

Аргумент

Описание

файл

Имя исходного файла, содержащего преобразуемый элемент управления ActiveX. У файла-аргумента должно быть расширение DLL или OCX.

Параметр

Описание

/delaysign

Указывает программе Aximp.exe подписывать полученный элемент управления отложенной подписью. Этот параметр необходимо задавать вместе с параметром /keycontainer:, /keyfile: или /publickey:. Дополнительные сведения об отложенной подписи см. в разделе Отложенная подпись сборки.

/help

Отображает синтаксис команд и параметров программы.

/keycontainer:ИмяКонтейнера

Подписывает полученный элемент управления строгим именем с помощью пары "открытый/закрытый ключ" из контейнера ключей, заданного аргументом ИмяКонтейнера.

/keyfile:имя_файла

Подписывает полученный элемент управления строгим именем с помощью официальной "открытый/закрытый ключ" издателя, найденной в файле с именем имя_файла.

/nologo

Отключает отображение эмблемы Майкрософт при запуске.

/out:имя_файла

Задает имя создаваемой сборки.

/publickey:имя_файла

Подписывает полученный элемент управления строгим именем с помощью открытого ключа из файла с именем имя_файла.

/silent

Отключает отображение сообщений об успешно выполненных операциях.

/source

Генерирует исходный код оболочки Windows Forms на языке C#.

/verbose

Включает режим отображения дополнительных сведений о ходе выполнения.

/?

Отображает синтаксис команд и параметров программы.

Программа Aximp.exe преобразует всю библиотеку типов элемента управления ActiveX и создает набор сборок, содержащих метаданные среды CLR, и реализацию элементов управления для типов, определенных в исходной библиотеке типов. Имена файлов создаются по следующему шаблону:

Прокси среды CLR для COM-типов: идентификатор_программы.dll.

Прокси Windows Forms для элементов управления ActiveX (Ax обозначает ActiveX): Axидентификатор_программы.dll.

8ccdh774.alert_note(ru-ru,VS.90).gifПримечание.

Если имя члена элемента управления ActiveX совпадает с именем, определенным в .NET Framework, к имени члена при создании производного класса AxHost будет добавлен префикс Ctl. Например, если элемент управления ActiveX содержит член с именем Layout, в производном классе AxHost он будет переименован в CtlLayout, так как в .NET Framework определено событие Layout.

Созданные файлы можно проверить с помощью таких средств, как Дизассемблер MSIL (Ildasm.exe).

Использование Aximp.exe, чтобы создать сборку .NET для элемента управления ActiveX WebBrowser (shdocvw.dll), не поддерживается.

Если программа Aximp.exe выполняется для shdocvw.dll, она всегда создает другой файл с именем shdocvw.dll в каталоге, из которого запускается программа. Помещение вновь созданного файла в каталог "Documents and Settings" может привести к сбоям в работе обозревателя Microsoft Internet Explorer и Обозревателя Windows. При перезагрузки компьютера операционная система Windows, чтобы найти копию shdocvw.dll, выполняет поиск в каталоге "Documents and Settings", прежде чем обратиться к каталогу system32. Она будет использовать копию, найденную в каталоге "Documents and Settings" и попытается загрузить управляемые оболочки. Программы Internet Explorer и Проводник Windows будут работать неправильно, так как они используют механизм визуализации из версии shdocvw.dll, расположенной в каталоге system32. В случае возникновения этой проблемы удалите копию shdocvw.dll из каталога "Documents and Settings" и перезапустите компьютер.

Использование программы Aximp.exe с shdocvw.dll, чтобы создать сборку .NET для использования при разработке приложения, также может привести к проблемам. В этом случае приложение загружает и системную версию shdocvw.dll, и созданную версию, а также может установить приоритет системной версии. В этом случае при попытке загрузить веб-страницу в элемент управления WebBrowser ActiveX для пользователя может быть выведено диалоговое окно "Открыть/Сохранить". Когда пользователь нажимает кнопку Открыть, веб-страница открывается в обозревателе Internet Explorer. Это происходит только с компьютерами, на которых работает Internet Explorer версии 6 или более ранней версии. Чтобы предотвратить эту проблему, используйте управляемый элемент управления WebBrowser или используйте Visual Studio для создания управляемого файла shdocvw.dll, как описано в разделе Практическое руководство. Добавление ссылок на библиотеки типов.

Пример

Приведенная ниже команда создает файлы MediaPlayer.dll и AxMediaPlayer.dll для элемента управления Media Player msdxm.ocx.

aximp c:\systemroot\system32\msdxm.ocx

См. также

Ссылки

Инструменты .NET Framework

Дизассемблер MSIL (Ildasm.exe)