在 Windows 环境中从 C 或 C++ 访问 COM 接口

Posted

技术标签:

【中文标题】在 Windows 环境中从 C 或 C++ 访问 COM 接口【英文标题】:Accessing COM interface from C or C++ in Windows environment 【发布时间】:2010-09-29 10:17:13 【问题描述】:

我对组件对象模型规范比较陌生 - 我有一个简单的问题:

如何从 C 或 C++ 应用程序访问 COM 接口

例如,访问 Microsoft Excel COM 接口以执行基本操作,无需用户干预。

亲切的问候

【问题讨论】:

【参考方案1】:

实际上,您需要使用 COM 接口实例化对象。

这相当复杂,我们在这里无法回答。

这是一个很好的入门:http://www.codeproject.com/KB/COM/comintro.aspx

另一个:http://www.codeguru.com/cpp/com-tech/activex/tutorials/article.php/c5567

【讨论】:

【参考方案2】:

如果您使用 C++,我建议您研究 ATL,如果使用 C,则使用 C++。使用#import 构造访问 DLL 或 EXE 中的 COM 对象非常容易。

【讨论】:

但这并不是这个人真正要问的。 虽然 kenny 可能没有回答所问的问题,但他确实给出了潜在问题的答案,这通常更有价值。 在哪里可以找到示例,使用 ATL 和 C++ - 提前致谢【参考方案3】:

微软有一篇精彩的文章似乎解决了这个确切的问题。如果你想坚持直接使用 C++(即 MFC/ATL),你应该查看这篇文章,因为它有大量的示例代码:

How to automate Excel from C++ without using MFC or #import

【讨论】:

以上是关于在 Windows 环境中从 C 或 C++ 访问 COM 接口的主要内容,如果未能解决你的问题,请参考以下文章