Accessing COM interface from C or C++ in Windows e

2019-01-15 16:42发布

问题:

I'm relatively new to the Component Object Model specification - I have a simple question:

  • How can I access a COM interface from a C or C++ application

For instance, accessing Microsoft Excel COM interface to perform basic operations, without user intervention.

Kind regards

回答1:

Actually, you will need to instantiate the object using the COM interface.

This is fairly complicated, more than we can just answer here.

here is a good primer: http://www.codeproject.com/KB/COM/comintro.aspx

Another one: http://www.codeguru.com/cpp/com-tech/activex/tutorials/article.php/c5567



回答2:

I would suggest looking into ATL if you are using C++, and using C++ if using C. It is very easy to use the #import construct to access COM objects in DLLs or EXEs.



回答3:

There is a wonderful article at Microsoft that seems to address this exact question. If you want to stick with straight C++ (i.e. MFC/ATL), you should check out the article as it has loads of sample code:

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



标签: c++ c windows com