我可以将 MFC 支持添加到现有 ATL COM 项目吗

Posted

技术标签:

【中文标题】我可以将 MFC 支持添加到现有 ATL COM 项目吗【英文标题】:Can I add MFC support to an Existing ATL COM project 【发布时间】:2011-04-25 08:28:12 【问题描述】:

我使用 ATL COM Object 创建了一个 Shell 扩展。但是在创建过程中我没有添加 MFC 支持。我现在可以更改设置以添加 MFC 支持吗

【问题讨论】:

【参考方案1】:

是的,但我相信这样做不会自动添加所有必需的标头和#defines - 当然,您可以先尝试一下,然后检查确定。

如果这不起作用,您可以使用“文件->新建->现有代码中的项目”在您的解决方案中创建一个新项目,该项目同时使用 MFC 和 ATL,并使用原始项目中的代码。您必须包含当前仅 ATL 版本中的任何自定义设置,但如果您在新项目中创建新的预编译头文件,它应该具有您需要打开并包含的所有 MFC 和 ATL 位。

【讨论】:

【参考方案2】:

是的,有一篇 knowledge base 文章说明了如何执行此操作。简而言之,您基本上必须添加某些#includes 并创建一个应用程序对象,以及一些管道。

【讨论】:

以上是关于我可以将 MFC 支持添加到现有 ATL COM 项目吗的主要内容,如果未能解决你的问题,请参考以下文章

在 MFC+ATL EXE 中使用带有未注册接口的 IDispatchImpl

如何在 C++ ATL/MFC 中检索具有相同格式的刻度,如 DateTime.Ticks

我安装vs2017时安装的c++没安mfc请问怎么单独添加这个组件

将单选按钮添加到现有组 - MFC

如何在现有的 Windows 应用程序中获得 ATL 支持

将控制台添加到现有 MFC 应用程序