自从我编写 COM dll 以来已经有很长时间了。我现在已经制作了几个类,它们继承自某些 COM 接口(interface),但我想对其进行测试。我知道我必须在某处放置一个 GUID,然后使用 regsvr32 注册它,但涉及哪些步骤?
编辑:抱歉,忘了说我正在使用 C++。
最佳答案
要创建一个新的 ATL COM 项目,您可以按以下步骤进行:
- 文件/新项目
- Visual C++/ATL/ATL 项目
- 自定义设置,完成后按完成
您已经创建了一个新的 dll,但它是空的,要添加一个 COM 对象,您可以这样做:
- 项目/添加类
- Visual C++/ATL/ATL 简单对象,按添加
- 输入您想要的名称(例如 MyObject),然后按完成添加
如果你想让一个对象实现一个接口(interface)
- 在类 View 中选择对象类(CMyObject)
- 右键单击/添加/实现接口(interface)...
- 您可以选择要实现的接口(interface)
- 来自项目文件中已有的 .idl 文件
- 来自嵌入了类型库的 .tlb/.dll/.exe
- 来自已注册的对象
- 完成后按完成
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/