我正在创建一个需要与第三方工具(COM)互操作的wpf应用程序。该工具将首先启动,我将在该工具中给出一些输入。然后他将启动我的wpf应用程序,再次给出一些输入。我的wpf app需要与工具的运行实例互操作并在工具中执行一些方法并将结果发送到我的app.I尝试使用RCW。但RCW只是一个代理人。我需要一个正在运行的工具实例来进行交互。谁能帮帮我?????????????
编辑:现有的C ++代码可以执行此操作,那么如何将其转换为C#?
bool DisDriver::Create(CLSID clsid, DWORD ClsContext, LPCTSTR ServerName)
{
hRet = ::CoCreateInstanceEx(clsid,NULL,dwClsContext,strServerName==NULL?NULL:(&svrinfo),1,&multiqi);
if(hRet!=S_OK) {
#ifdef XYDISPDRIVER_DEBUG
_tprintf(_T("CoCreateInstance failed:"),hRet);
#endif
return false;
}
pDisp = (IDispatch*)(multiqi.pItf);
}
答案 0 :(得分:0)
Type.GetType(prog.id),Activator.CreateInstance(type)
实际上会得到一个com程序的运行实例,这是此问题所必需的。