c++ - 如何在 Visual Studio 2008 中创建 COM DLL?

标签 c++ visual-studio-2008 com dll guid

自从我编写 COM dll 以来已经有很长时间了。我现在已经制作了几个类,它们继承自某些 COM 接口(interface),但我想对其进行测试。我知道我必须在某处放置一个 GUID,然后使用 regsvr32 注册它,但涉及哪些步骤?

编辑:抱歉,忘了说我正在使用 C++。

最佳答案

要创建一个新的 ATL COM 项目,您可以按以下步骤进行:

  1. 文件/新项目
  2. Visual C++/ATL/ATL 项目
  3. 自定义设置,完成后按完成

您已经创建了一个新的 dll,但它是空的,要添加一个 COM 对象,您可以这样做:

  1. 项目/添加类
  2. Visual C++/ATL/ATL 简单对象,按添加
  3. 输入您想要的名称(例如 MyObject),然后按完成添加

如果你想让一个对象实现一个接口(interface)

  1. 在类 View 中选择对象类(CMyObject)
  2. 右键单击/添加/实现接口(interface)...
  3. 您可以选择要实现的接口(interface)
    1. 来自项目文件中已有的 .idl 文件
    2. 来自嵌入了类型库的 .tlb/.dll/.exe
    3. 来自已注册的对象
  4. 完成后按完成

PS:在不同的文件夹下新建一个同名的ATL工程,再添加自己自定义的文件就容易多了。该向导执行多项任务并创建多个自定义文件。

对于难以逐个文件添加的较大项目,我也这样做,但不是将我的文件添加到新项目,而是开始将设置从新项目复制到旧项目,并添加任何附加文件向导已创建并修复 header ,如 stdafx.h 以合并新设置。

PPS:如果您希望您的 dll 支持 MFC,则必须选择 MFC/MFC Dll 而不是选择 ATL 项目。添加 ATL 简单对象时,向导会要求向项目添加 ATL 支持。

关于c++ - 如何在 Visual Studio 2008 中创建 COM DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/465345/

相关文章:

visual-studio - Visual Studio 2008 生产力电动工具

c++ - 在 x86 应用程序中使用 x64 dll

c++ - QXmlStreamReader 说我在 XML 文件的末尾,而在它的中间

c++ - 在 C++ 中按文件填充数组或结构

c++ - 在 Linux 中使用 C++ 检测连接的接口(interface)

c++ - IDL与c++源文件的关系

c# - 发布到另一台机器时如何注册 COM 对象

c++ - 如何使用 WiX 手动注册 64 位 DLL

c# - 如何打开也是项目资源的 PDF 文件?

c# - C#中使用MSV2008更改虚方法签名时,如何自动更改重写方法的签名?