从我的.NET应用程序调用现有Com应用程序的方法

问题描述:

有一种我感兴趣的场景。 用户在一个单独的窗口中运行基于COM的应用程序,我希望我的C#应用​​程序通过COM调用来操作该应用程序。我找到了我感兴趣的COM接口,并且VisualStudio成功生成了包装(MyApp.interop)。所以我可以编写类似new Interop.MyApplication()的东西,但我不想要新的应用程序,我想与现有的应用程序一起工作。从我的.NET应用程序调用现有Com应用程序的方法

+0

你会怎么办,从非.NET应用程序? – 2010-10-08 09:54:09

+0

你的意思是你想通过.NET _automate_ com应用程序的UI吗? – Oded 2010-10-08 09:57:32

+0

例如,是Word女士,想打开文件。虽然,这真的是另一个应用程序(MapInfo 6.5) – 2010-10-08 10:06:19

我已经找到了解决办法,代码看起来像

var app = Marshal.GetActiveObject("MapInfo.Application") 
((MyApp)app).OpenFile(...)