CoCreateInstance可以成功启动WORD,但是返回值总是为-2147467262,而且也无法得到传出的IDispatch
我的环境是MinGW,现在可以启动WORD,但是无法对它进行操作,GOOGLE也找不到错误信息的内容。
代码里手工组装了IID_IDispatch,因为还没有能够解决下面这个问题
http://topic.csdn.net/u/20081215/23/64c4234e-5482-43ea-84ab-6c827b40ff6d.html
CoInitialize(NULL);
// 获得word的CLSID
CLSID clsid;
HRESULT hr = CLSIDFromProgID(L"Word.Application", &clsid);
if(FAILED(hr)) {
cout<<"CLSIDFromProgID() 函数调用失败!";
return -1;
}
// 创建实例
IDispatch *pXlApp;
GUID guid1;
guid1.Data1 = 20400;
guid1.Data2 = 0;
guid1.Data3 = 0;
guid1.Data4[0] = 192;
guid1.Data4[1] = 0;
guid1.Data4[2] = 0;
guid1.Data4[3] = 0;
guid1.Data4[4] = 0;
guid1.Data4[5] = 70;
hr = CoCreateInstance(clsid, NULL, CLSCTX_LOCAL_SERVER, guid1, (void **)&pXlApp);
if(FAILED(hr)) {
cout<<"请检查是否已经安装word!错误"<<hr<<"-"<<pXlApp;
return -2;
}