组件对象模型调用

时间:2018-04-14 13:17:22

标签: automation com invoke

我如何使用INVOKE来调用应用程序的方法? 我的方法名称是“importCase”,它的输入参数是一个字符串,包含我的计算机中我的Case的地址我不知道我应该如何使用Invoke来调用此方法以及如何导入我的方法的输入参数。我的代码是:

  ::CLSIDFromProgID(OLESTR("SGNSAutomation.SGNSApplication"), &clsid);
    IID iid;
     HRESULT hr = CoCreateInstance(clsid, NULL, CLSCTX_ALL, 
  IID_IDispatch, (LPVOID*)&pWMPDispatch);
  IDispatch * pdisp = (IDispatch *)NULL;
  DISPID dispid;
   DISPPARAMS params = "E:\new library\university\final project 
                                documentation\GPNS project\net1.gpns";
  OLECHAR * Name = OLESTR("importCase");
 HRESULT hresult =pWMPDispatch->GetIDsOfNames(IID_NULL, 
            &Name,1,LOCALE_SYSTEM_DEFAULT,&dispid);
 hresult =pWMPDispatch->Invoke(dispid, IID_NULL, LOCALE_USER_DEFAULT, 
                    DISPATCH_METHOD, &params, NULL, NULL,
                          NULL);  

_ASSERT(hr==S_OK);

我认为我的参数定义是错误的,但我不知道如何定义它?

0 个答案:

没有答案