CoCreateInstance可以成功启动WORD,但是返回值总是为-2147467262,而且也无法得到传出的IDispatch

flesharcher 2008-12-16 07:29:42
我的环境是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;
}

...全文
245 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
flesharcher 2008-12-18
  • 打赏
  • 举报
回复
是我自己组装GUID的时候错了,问题已经解决了
flesharcher 2008-12-17
  • 打赏
  • 举报
回复
顶一下,没有人知道这个方面的问题吗

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧