请教:请问如何动态调用COM接口呢

RunningYang 2008-12-05 09:32:04
请问如何动态调用COM接口呢
就是事先不需要对调用代码添加什么import之类的内容

就像工具包中的ActiveX Control Test Container一样

请问有没有什么好的方案
谢谢
...全文
76 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxufeng 2008-12-05
  • 打赏
  • 举报
回复
Itypelib* lib;
Loadtypelib("path",lib);//从一个dll文件调入
lib->gettypeinfocount();//得到一共有多少接口,然后循环去处理
//假如取第1个
Itypeinfo* typeinfo;
GUID gd;
LPTYPEATTR *trr=NULL;
typelib->gettypeino(0,typeinfo);
typeinfo->gettypeattr(trr);
gd=trr->guid;//得到guid,是不是就可以createInstance了呢?
LPOLESTR s;
progidfromCLSID(gd,&s);//你可以看看s是什么哦


还有很多别的,接下来怎么做,你自己查查msdn吧。
上面的指针可以转化为智能指针,同时注意大小写。
最后,你可以把com按面向对象一层一层继承,你用queryinterface可以判断你的com是否可以调用等等。最好的例子就是esri 的arcengine结构
oyljerry 2008-12-05
  • 打赏
  • 举报
回复
QureyInterface()查询接口,获得对象指针来调用

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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