Accessing COM interface from C or C++ in Windows environment
Question
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
Solution
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
OTHER TIPS
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.
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: