Aximp.exe (программа импорта элементов ActiveX форм Windows Forms)
Программа для импорта элементов управления ActiveX преобразует определения типов в библиотеке типов COM для элемента управления ActiveX в элемент управления Windows Forms.
В Windows Forms могут находиться только элементы управления Windows Forms, то есть классы, производные от класса Control. Программа Aximp.exe создает класс-оболочку для элемента управления ActiveX, который может быть размещен в Windows Forms. Благодаря этому во время разработки можно использовать ту же методологию программирования и поддержки, что и для других элементов управления Windows Forms.
Чтобы разместить элемент управления ActiveX, необходимо создать элемент управления-оболочку, производный от AxHost. Этот элемент управления-оболочка содержит экземпляр базового элемента управления ActiveX. Оболочка может взаимодействовать с элементом управления ActiveX, но выглядит как элемент управления Windows Forms. Созданный элемент управления размещает элемент управления ActiveX и представляет его свойства, методы и события как свои собственные.
Эта программа автоматически устанавливается вместе с Visual Studio. Для запуска этого средства используйте Командную строку разработчика или PowerShell для разработчиков в Visual Studio.
Введите в командной строке: .
Синтаксис
aximp [options]{file.dll | file.ocx}
Замечания
Аргумент | Description |
---|---|
file | Имя исходного файла, содержащего преобразуемый элемент управления ActiveX. Аргумент файла должен иметь расширение DLL или OCX. |
Вариант | Описание |
---|---|
/delaysign |
Указывает программе Aximp.exe подписывать полученный элемент управления отложенной подписью. Этот параметр необходимо задавать вместе с параметром /keycontainer: , /keyfile: или /publickey: . Дополнительные сведения о процессе отложенной подписи см. в разделе Отложенная подпись сборки. |
/help |
Отображает синтаксис команд и параметров программы. |
/keycontainer: containerName |
Подписывает результирующий элемент управления строгим именем, используя пару ключей (открытый/закрытый) из контейнера ключей, заданного аргументом containerName. |
/keyfile: имя_файла |
Подписывает полученный элемент управления строгим именем, используя официальную пару ключей издателя (открытый-закрытый) из filename. |
/nologo |
Отключает отображение эмблемы Майкрософт при запуске. |
/out: имя_файла |
Задает имя создаваемой сборки. |
/publickey: имя_файла |
Подписывает полученный элемент управления строгим именем с помощью открытого ключа из filename. |
/rcw: имя_файла |
Использует указанную вызываемую оболочку времени выполнения вместо создания новой. Можно указать несколько экземпляров. Для относительных путей используется текущий каталог. Дополнительные сведения см. в разделе Вызываемая оболочка времени выполнения. |
/silent |
Запрещает отображение сообщений об успешно выполненных операциях. |
/source |
Создает исходный код оболочки Windows Forms на языке C#. |
/verbose |
Включает режим отображения дополнительных сведений о ходе выполнения. |
/? |
Отображает синтаксис команд и параметров программы. |
Программа Aximp.exe преобразует всю библиотеку типов элемента управления ActiveX и создает набор сборок, содержащих метаданные среды CLR, и реализацию элементов управления для типов, определенных в исходной библиотеке типов. Имена файлов создаются по следующему шаблону.
Прокси-сервер среды CLR для типов COM: progid.dll
Прокси Windows Forms для элементов управления ActiveX (где Ax означает ActiveX): Axprogid.dll
Примечание.
Если имя члена элемента управления ActiveX совпадает с именем, заданным в .NET Framework, к имени члена при создании производного класса AxHost программа Aximp.exe добавит префикс "Ctl". Например, если элемент управления ActiveX содержит член с именем "Layout", в производном классе "AxHost" он будет переименован в "CtlLayout", так как в .NET Framework задано событие "Layout".
Созданные файлы можно проверить с помощью таких программ, как Ildasm.exe (дизассемблер IL).
Использование программы Aximp.exe для создания сборки .NET для элемента управления ActiveX WebBrowser (shdocvw.dll) не поддерживается.
Если программа Aximp.exe выполняется для "shdocvw.dll", она всегда создает другой файл с именем "shdocvw.dll" в каталоге, из которого запускается программа. Если вы размещаете созданный файл в каталоге "Документы", это может привести к проблемам в проводнике Windows. При перезагрузке компьютера Windows выполняет поиск в каталоге "Документы" перед каталогом system32, чтобы найти копию shdocvw.dll. Он будет использовать копию, найденную в документах, и попытается загрузить управляемые оболочки. Обозреватель Windows не будет работать должным образом, так как он зависит от обработчика отрисовки в версии shdocvw.dll, расположенной в каталоге system32. Если эта проблема возникает, удалите копию shdocvw.dll в каталоге "Документы" и перезагрузите компьютер.
Пример
При выполнении указанной ниже команды создаются библиотеки "MediaPlayer.dll" и "AxMediaPlayer.dll" для элемента управления Media Player msdxm.ocx
.
aximp c:\systemroot\system32\msdxm.ocx