【发布时间】:2010-11-07 11:46:46
【问题描述】:
我需要为应用程序创建一个插件(带有 GUI),将它们作为 activeX 组件加载(遗留系统的乐趣)。我已经进行了一些谷歌搜索,但是虽然我可以找到多个关于如何为网页创建 activeX 组件的示例,但我找不到桌面等效项的任何示例。
【问题讨论】:
我需要为应用程序创建一个插件(带有 GUI),将它们作为 activeX 组件加载(遗留系统的乐趣)。我已经进行了一些谷歌搜索,但是虽然我可以找到多个关于如何为网页创建 activeX 组件的示例,但我找不到桌面等效项的任何示例。
【问题讨论】:
您应该从一个新的 Windows 窗体控件库 - 项目开始。
在项目属性对话框中,您的应用程序部分, 单击 [程序集信息 ...]。
然后您将看到一个复选框:使程序集 COM 可见。 勾选这个选项。
这相当于拥有
[assembly: ComVisible(true)]
在 AssemblyInfo.cs 中。您的所有(公共)用户控件都应该可以访问,例如在 VB6 项目中。
没想到here讨论的这么麻烦
主要观点似乎是:regsvr32 对 .net-dll 没用。您应该使用 regasm.exe
【讨论】:
这个问题有点老了,但是......我一直在寻找同样问题的答案。也就是说,我正在尝试编写一个通过 ActiveX 控件与旧应用程序相关联的驱动程序。作为最后的努力,我涉足 msdn 并找到了一个指向“一体化代码框架”的链接。在几十个样本中,有一个是CSActiveX。它回答了我的很多问题,所以我想我会分享。
关于需要预构建事件的示例的注释,因此请确保并更正它以指向您的 rc.exe 副本。无论如何,我需要为 vs2010 更改它。
【讨论】: