【发布时间】:2018-04-13 03:25:08
【问题描述】:
我想用 COM 接口调用一个软件的对象。我的对象中的方法如图所示,我的代码如下:
::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 = {NULL};
OLECHAR * Name = OLESTR("addSimulationCase","getSimulationCase","importCase","openCase","registeredBoundaryEquipmentsList","registeredCorrelaionsList","registeredEquipmentsList","removeSimulationCase");
HRESULT hresult =pWMPDispatch->GetIDsOfNames(IID_NULL, &Name,8,LOCALE_SYSTEM_DEFAULT,&dispid);
hresult =pWMPDispatch->Invoke(dispid, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, ¶ms, NULL, NULL,
NULL);
//pdisp IDispatch
_ASSERT(hr==S_OK);
但发生错误我认为是因为名称变量定义 我的对象中的方法列表是:
addSimulationCase
getSimulationCase
importCase
openCase
registeredBoundaryEquipmentsList
registeredCorrelaionsList
registeredEquipmentsList
removeSimulationCase
请帮我如何定义指针名称。
【问题讨论】:
标签: automation com