我想枚举一台机器上的所有的IDispatch支持对象。目前,我需要知道的类ID或程序ID是什么,但,对于检查我的机器,我想知道如果我可以枚举实现IDispatch的所有对象。

这甚至可能?

任何帮助,将不胜感激:)

有帮助吗?

解决方案

这是一个非常奇怪的要求。冲突是在“所有”的规定。通过HKCR \ TypeLib项和LoadTypeLib()的简单枚举是不够的,不需要COM服务器发布类型库。实际上,你将不得不调用CoCreateInstance()的组件类和的QueryInterface IDispatch接口。这不仅是缓慢的,它也是有风险的。

如果您解释一下为什么你实际上考虑做这样的事情你可能会得到更好的答案。无需某种想法的论据是什么意思或者什么副作用可能是一个灾难调用的IDispatch ::调用()。从像“ReformatDrive”。

的方法名称远离
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top