.Net 的 ActiveX 事件
Posted
技术标签:
【中文标题】.Net 的 ActiveX 事件【英文标题】:ActiveX events with .Net 【发布时间】:2015-07-07 11:50:20 【问题描述】:我在 MSDN 上进行了搜索,但没有找到任何结论。
我想知道是否可以,如果可以,如何从 C++ ActiveX 控件公开事件并从 .Net 代码订阅它。我其实有一个轮询机制,但是我们想用事件驱动的机制来代替它。
如果不是,我打算使用命名管道。
【问题讨论】:
【参考方案1】:您需要以简单的方式实现 COM 连接点(例如,Visual Studio ATL 项目向导负责大部分步骤)。
ActiveX 控件需要实现连接点,类型库和实现的 IProvideClassInfo 需要表明 coclass 有一个传出接口。类型库还包含事件的调度接口定义。
添加对 ActiveX 控件库的引用时,.NET 互操作会自动导入定义并添加对事件的支持。
见:
Adding an Event (ATL Tutorial, Part 5) Practical ATL: Connection Point and Two Approaches to Receive Events Another ATL Tutorial Using Visual C++ .NET part 2 http://www.369o.com/data/books/atl/0321159624/ch09lev1sec2.html【讨论】:
以上是关于.Net 的 ActiveX 事件的主要内容,如果未能解决你的问题,请参考以下文章