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
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
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:
How to automate Excel from C++ without using MFC or #import