您的位置:首页 > 其它

LoadTypeLibEx

2016-04-18 20:40 176 查看
今天中午用LoadTypeLibEx时,总是编译不过。

让老师看了之后,修改后编译过了。

很纳闷,回来看了一下,msdn写错了…

msdn上CE版本写的是错的,PC版本写的是对的…

看来还不能乱看CE版本的帮助.





编译过了, LoadTypeLibEx 失败,有可能注册信息不全。

这个COMDLL是手工生成的, 不是用向导生成的。

等用向导生成COMDLL之后,再试试能否用LoadTypeLibEx或LoadTypeLib取到COMDLL中的类型库信息并保存成文件.



工具党得到.tlb的方法

前提: COMDLL被正常注册后,可以正常使用.

找到COMDLL全路径名称,用OleViewer查看类型库





现在可以看到类型库和接口定义了



保存IDL到本地





试验过了,只有IDL文件可以保存, .h, .c保存不了.

得到.tlb文件

用midl.exe直接编译.idl文件, 得到.tlb文件

新建一个ATL工程,将IDL文件加进去编译, 得到.tlb文件.

调用COM接口

如果COMDLL提供双接口,用IDispatch来执行invoke

如果COMDLL提供单接口, 用CLSID和IID得到虚表指针后,直接调用虚表中接口函数指针.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: