ActiveX 控件導入程序將 ActiveX 控件的 COM 類型庫中的類型定義轉換為 Windows 窗體控件。
Windows 窗體只能承載 Windows 窗體控件——即從 System.Windows.Forms.Control 派生的類。Aximp.exe 生成可承載于 Windows 窗體上的 ActiveX 控件的包裝類。這使您得以使用可應用于其他 Windows 窗體控件的同一設計時支持和編程方法論。
若要承載 ActiveX 控件,必須生成從 System.Windows.Forms.AxHost 派生的包裝控件。此包裝控件包含基礎 ActiveX 控件的一個實例。它知道如何與 ActiveX 控件通訊,但它顯示為 Windows 窗體控件。這個生成的控件承載 ActiveX 控件并將其屬性、方法和事件公開為生成控件的屬性、方法和事件。
aximp [options]{file.dll | file.ocx}
參數(shù) 說明
file 包含要轉換的 ActiveX 控件的源文件名。文件參數(shù)中必須有擴展名 .dll 或 ocx。
選項 說明
/delaysign 指定 Aximp.exe 用延遲的簽名操作對結果控件進行簽名。此選項必須與 /keycontainer:、/keyfile: 或者 /publickey: 選項一起指定。有關延遲簽名進程的更多信息,請參閱延遲為程序集簽名。
/help 顯示此工具的命令語法和選項。
/keycontainer:containerName 借助于在 containerName 所指定的密鑰容器中找到的公鑰/私鑰對,用強名稱對結果控件進行簽名。
/keyfile:filename 借助于在 filename 中找到的發(fā)行者的正式公鑰/私鑰對,用強名稱對結果控件進行簽名。
/nologo 取消顯示 Microsoft 啟動標題。
/out:filename 指定要創(chuàng)建的程序集的名稱。
/publickey:filename 借助于在 filename 所指定的文件中找到的公共密鑰,用強名稱對結果控件進行簽名。
/silent 取消顯示成功消息。
/source 生成 Windows 窗體包裝的 C# 源代碼。
/verbose 指定詳細模式;顯示附加的進度信息。
/? 顯示此工具的命令語法和選項。
備注
Aximp.exe 一次轉換整個 ActiveX 控件類型庫,并產生一組程序集,這些程序集包含在原始類型庫中定義的類型的公共語言運行庫元數(shù)據(jù)和控件實現(xiàn)。生成的文件按照下面的模式命名:
COM 類型的公共語言運行庫代理:<progid>.dll。
ActiveX 控件的 Windows 窗體代理(其中 Ax 表示 ActiveX):Ax<progid>.dll
可以使用如 Ildasm.exe 這樣的工具來檢查這些文件。
注意,在 ActiveX 控件 shdocvw.dll 上運行 Aximp.exe 將總是在運行該工具的目錄中創(chuàng)建另一個名為 shdocvw.dll 的文件。如果將此生成文件放在“Documents and Settings”目錄下,則會導致 Microsoft Internet Explorer 和 Windows 資源管理器出現(xiàn)問題。重啟計算機時,Windows 在查看 system32 目錄之前首先查看“Documents and Settings”目錄,以查找 shdocvw.dll 的副本。它將使用在“Documents and Settings”目錄中找到的副本,并嘗試加載托管的包裝。由于 Internet Explorer 和 Windows 資源管理器依賴于 system32 目錄中的 shdocvw.dll 版本中的呈現(xiàn)引擎,因此它們將無法正常工作。如果出現(xiàn)此問題,請在“Documents and Settings”目錄中刪除 shdocvw.dll 的副本,然后重啟計算機。
示例
下面的命令為媒體播放器控件 msdxm.ocx 生成 MediaPlayer.dll 和 AxMediaPlayer.dll。
aximp c:\winnt\system32\msdxm.ocx