请教各位Idispatch接口怎么使用

[复制链接]
查看11 | 回复2 | 2021-1-27 07:18:51 | 显示全部楼层 |阅读模式
现在问题是这样的:
1.新建word文档打开
2.选择插入-->对象-->写字板文档,将显示为图标勾选上
3.现在在文档中有一个写字板的图案,双击打开后可以输入任意文字
问题来了,现在我想进行二次开发,用office提供的SDK中的接口函数读取写字板中的内容,可以获取该写字板的对象,类型为OLEObject,再调用该对象的方法Object(),该函数解释如下:
OLEObject.Object属性
返回由Shape对象或OLEObject对象代表的ActiveX控件或者OLE2.0嵌入或链接对象上的IDispatch接口。只读。如果Object属性成功,它将返回控件或对象上的IDispatch接口。
这个函数是office提供的SDK包中的只要将必要的.h和.cpp添加到工程就能使用了
可以先获得当前页面的对象page,在page中调用成员函数OLEObjects,获取OLE对象集合,再通过OLEObjects对象成员函数Item返回一个项目obj,再调用obj(类型OLEObject)对象成员函数Object,即可获得该对象IDispatch接口。
现在我的问题是不会使用IDispatch接口,有没有大牛指点一二,不胜感激!
分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:18:51 | 显示全部楼层
利用IDispatch的QueryInterface方法请求具体想要的接口对象指针,就可以Release掉它了。后面申请的也要在用完后Release
回复

使用道具 举报

千问 | 2021-1-27 07:18:51 | 显示全部楼层
http://www.codeproject.com/KB/COM/comdispatchdriver.aspx
GettingthemostoutofIDispatch
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行