c++ - 在遗留 Win32 应用程序中实现 COM 事件接收器

标签 c++ winapi com atl

我有一个遗留的 Win32 应用程序(WndProcs 等)需要使用 COM 对象。使用一些 ATL header 和一些智能指针是轻而易举的事情,但是我目前正在努力解决的问题是如何最好地接收来自该 COM 对象的事件?

我目前的工作计划是构建第二个 COM 对象(作为 dll)来处理所有下沉并使用 Windows 消息与遗留应用程序进行通信。这“没问题”,但是为了使遗留应用程序执行我想要的操作,来回移动消息有很多麻烦。

与通过第二个“sinker”com 对象运行相比,是否有易于访问的方法让 Win32 遗留应用程序直接接收 COM 事件?

在深入了解这个过程之前,我想看看是否有其他人以前遇到过这个问题并有可行的解决方案。

谢谢!

最佳答案

偶然发现了总是才华横溢的 Raymond Chen 撰写的精彩文章。

http://blogs.msdn.com/b/oldnewthing/archive/2013/06/12/10425215.aspx

正如 WhozCraig 上面指出的,我所需要的只是接口(interface)指针和设置建议,处理调用。

干净整洁。

谢谢!

关于c++ - 在遗留 Win32 应用程序中实现 COM 事件接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25567815/

相关文章:

c++ - 从 FlasK(又名 Crossbridge)访问 Win32 API

c# - 如何在没有文件的情况下在 C++ 应用程序和 C# 应用程序之间共享数据?

c++ - 通过 C++ 或 VB.NET 集成 Matlab DLL

winapi - 找到notepad.exe和mspaint.exe的路径

c++ - 移植DXUT SDKMesh导入OBJ文件,在哪里添加纹理坐标和索引?

c++ - VBA 中的 "Invalid use of New Keyword"使用用 C++ 编写的旧 com 对象

c++ - WinRT/Metro 风格应用程序中基于 ATL 的 COM 对象

C# - 将 Nullable<T> 公开给 COM 的好方法

c++ - Eigen :使用 SparseMatrix 的 selfAdjointView

c++ - 为什么 boost::optional 对于继承虚函数的类会失败