怎样在.NET中察看OCX控件的方法

主  题:  怎样在.NET中察看OCX控件的方法!!
作  者:  lylhyh (萍飘浪子)
等  级:  ^^^^
信 誉 值:  69
所属论坛:  .NET技术 C#
问题点数:  50
回复次数:  4
发表时间:  2003-4-23 16:41:22

怎样在.NET中察看OCX控件的方法!!



回复人: jlhdlj() ( 一星(中级)) 信誉:100 2003-4-23 16:56:15 得分:50

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}
参数 说明
file 包含要转换的 ActiveX 控件的源文件名。文件参数中必须有扩展名 .dll 或 ocx。
选项 说明
/delaysign 指定 Aximp.exe 用延迟的签名操作对结果控件进行签名。此选项必须与 /keycontainer:/keyfile: 或者 /publickey: 选项一起指定。有关延迟签名进程的更多信息,请参阅延迟为程序集签名。
/help 显示此工具的命令语法和选项。
/keycontainer:containerName 借助于在 containerName 所指定的密钥容器中找到的公钥/私钥对,用强名称对结果控件进行签名。
/keyfile:filename 借助于在 filename 中找到的发行者的正式公钥/私钥对,用强名称对结果控件进行签名。
/nologo 取消显示 Microsoft 启动标题。
/out:filename 指定要创建的程序集的名称。
/publickey:filename 借助于在 filename 所指定的文件中找到的公共密钥,用强名称对结果控件进行签名。
/silent 取消显示成功消息。
/source 生成 Windows 窗体包装的 C# 源代码。
/verbose 指定详细模式;显示附加的进度信息。
/? 显示此工具的命令语法和选项。

备注
Aximp.exe 一次转换整个 ActiveX 控件类型库,并产生一组程序集,这些程序集包含在原始类型库中定义的类型的公共语言运行库元数据和控件实现。生成的文件按照下面的模式命名:

COM 类型的公共语言运行库代理:<progid>.dll

ActiveX 控件的 Windows 窗体代理(其中 Ax 表示 ActiveX):Ax<progid>.dll

可以使用如 Ildasm.exe 这样的工具来检查这些文件。

注意,在 ActiveX 控件 shdocvw.dll 上运行 Aximp.exe 将总是在运行该工具的目录中创建另一个名为 shdocvw.dll 的文件。如果将此生成文件放在“Documents and Settings”目录下,则会导致 Microsoft Internet Explorer 和 Windows 资源管理器出现问题。重启计算机时,Windows 在查看 system32 目录之前首先查看“Documents and Settings”目录,以查找 shdocvw.dll 的副本。它将使用在“Documents and Settings”目录中找到的副本,并尝试加载托管的包装。由于 Internet Explorer 和 Windows 资源管理器依赖于 system32 目录中的 shdocvw.dll 版本中的呈现引擎,因此它们将无法正常工作。如果出现此问题,请在“Documents and Settings”目录中删除 shdocvw.dll 的副本,然后重启计算机。

示例
下面的命令为媒体播放器控件 msdxm.ocx 生成 MediaPlayer.dll 和 AxMediaPlayer.dll。

aximp c:\winnt\system32\msdxm.ocx

回复人: lylhyh(萍飘浪子) ( 四级(中级)) 信誉:69 2003-4-23 17:07:16 得分:0

我怎样在服务器端使用ocx控件的方法!!

回复人: ArLi2003(阿利 路过而已) ( 两星(中级)) 信誉:100 2003-4-23 17:26:18 得分:0

是不是说对象浏览器?在IDE 中按CTRL+ALT+J

回复人: zxdhaha(天马行空) ( 一级(初级)) 信誉:100 2003-6-17 10:46:09 得分:0

怎样在服务器端使用ocx控件的方法?我也有这样的问题

该问题已经结贴 ,得分记录: jlhdlj (50)、

Contributors: FHL