Gol*_*k84 3 c++ com atl visual-studio-2010
我需要编写一个动态从COM对象中提取progid的函数.
这可能吗?
最好的方法是什么?
编辑:我需要处理的所有coclasses实现IProvideClassInfo
首先,无法保证信息首先可用.即使您刚刚使用ProgID实例化了一个对象,您也可能无法将其恢复.
最简单的方法是查询其中一个IPersist和朋友(IPersistStream等)接口,然后调用IPersist::GetClassID获取CLSID.然后使用ProgIDFromCLSID或通过注册表查找转换为ProgID .
另一种选择是以这种替代方式查询IProvideClassInfo和IProvideClassInfo2访问感兴趣的CLSID.
如果上述两个方法都不起作用,第三个选项是查询IDispatch并尝试打开类型库,然后遍历查找coclass信息.
| 归档时间: |
|
| 查看次数: |
829 次 |
| 最近记录: |