Accessing COM interface from C or C++ in Windows environment
Solution 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
Solution 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.
Solution 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
Comments
-
Aaron almost 2 years
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
-
cbrulak over 15 yearsbut that is not really what this person is asking.
-
Steve Steiner over 15 yearsWhile kenny may not have answered what was asked, he did give an answer to the underlying problem, which is often more valuable.
-
Aaron over 15 yearsWhere can I find examples, using ATL with C++ - Thanks in advance