Visual studio 如何在C+中创建与MFC或MFC ActiveX控件相关的COM对象+;?

Visual studio 如何在C+中创建与MFC或MFC ActiveX控件相关的COM对象+;?,visual-studio,mfc,com,atl,Visual Studio,Mfc,Com,Atl,在我的工作中,我应该为使用SDL和ffmpeg库的视频播放器制作一个COM对象。COM对象应该将视频播放器嵌入到C#应用程序中。我将写的代码将在C++中。关于COM对象,我已经研究了使用MFC、ATL,并且我已经在YouTube上做了一些关于创建简单COM对象的教程,但它们主要在ATL中,所以我没有使用MFC的任何经验。我正在使用Visual Studio Professional 2015。我仍然不能完全理解COM对象,因为许多定义都是高级的 我的一个问题是,关于我正在从事的这个项目,在这种情

在我的工作中,我应该为使用SDL和ffmpeg库的视频播放器制作一个COM对象。COM对象应该将视频播放器嵌入到C#应用程序中。我将写的代码将在C++中。关于COM对象,我已经研究了使用MFC、ATL,并且我已经在YouTube上做了一些关于创建简单COM对象的教程,但它们主要在ATL中,所以我没有使用MFC的任何经验。我正在使用Visual Studio Professional 2015。我仍然不能完全理解COM对象,因为许多定义都是高级的

我的一个问题是,关于我正在从事的这个项目,在这种情况下,创建COM对象的最佳方法是什么?我知道ATL不是面向GUI的,但MFC是,但我不知道在这种情况下是否仍然可以使用ATL。我对这一切都很陌生,我对MFCActix控件的功能感到困惑。根据我的理解,你用它来处理事件,这让我觉得它不是为这个项目写的。老实说,我对这一切都很满意,我将非常感谢任何帮助

其次,取决于我是否必须学习COM对象的ATL或MFC,是否有可能获得其中一个更深入的示例程序,或者可能教我这一点。理解文章已经够难了,因为它们既古老又高水平,但我似乎找不到知道这一点的导师,所以我愿意为教我这一点付费


感谢

MFC(为桌面应用程序/GUI开发)是首先开发的。ATL后来更多地用于服务器端COM,因此它更简单/原始。但是它被扩展了,并且也有一些GUI支持。学习COM并不容易,正如您所说,现在没有太多的资源(而这项技术还远远不是遗留下来的)。如果您不需要太多GUI,我将从ATL开始。再加上所有这些都是开源的,你将不得不深呼吸并投入其中。至于学习COM和ATL,我建议使用Wrox旧书:《带ATL的专业COM应用程序》、《专业ATL COM程序》,开始ATL COM程序。您应该继续使用VS2015,直到您掌握了在不使用向导的情况下开发COM组件的诀窍。与ATL/MFC相关的向导在VS2017中被破坏,未包含在VS2019中,