VC++原创编写COM实例的5种调用方法
五种写法总结得挺全,适合你刚接触 COM,或者想梳理调用方式的时候翻一翻。都是 VC++里比较常用的套路,从最基本的 CoCreateInstance
到用 ATL 帮你省代码的写法,再到 LoadLibrary
这种偏动态加载的技巧,讲得还挺实在。
CoCreateInstance 的用法算是最基础的,基本上你只要知道 CLSID 和 IID,直接 new 一个对象就完事了。像你要加载一个 ActiveX 控件,用这种方式最直接。
想图省事、代码还整洁的话,ATL 的 _ATL_BASE_MODULE 和 CComCoClass 这两招挺香的。它们封装得比较好,接口清晰,还能配合 CComPtr
自动管理对象生命周期,写起来舒服多。
再比如你要 COM DLL 的工厂导出,DllGetClassObject 和 LoadLibrary + GetProcAddress 就比较灵活。嗯,像插件式架构、需要动态控制组件加载的场景,这两种方式就比较实用。
建议你把压缩包里的 ComTest1.rar
和 TestCom.rar
也解开看看,基本每种方式都有对应的例子,代码不复杂,照着跑一下就更清楚了。
如果你平时在搞 ActiveX、WebBrowser 控件,或者要和串口、图像打交道,也可以看看下面这些相关链接,思路会更宽一些。
COM.rar
预估大小:2个文件
ComTest1.rar
15KB
TestCom.rar
13KB
27.59KB
文件大小:
评论区