I connect to some program via COM and receive System.__ComObject. I know several methods of it, so I can do like this:
object result = obj.GetType().InvokeMe
You can use: http://www.nektra.com/products/deviare-api-hook-windows/
It has a complete API provided as COM objects that can be used to get information and functions of all registered COM objects and intercept them.