如果我知道OLE自动化服务器的名称(在HKEY_CLASSES_ROOT下找到),有没有办法查询所有可用对象,它们的方法和属性,即使服务器不支持早期绑定,因此无法在对象浏览器?
如果是的话,请你提供几行代码(比较喜欢VB但是真的没关系)怎么做?
答案 0 :(得分:1)
如果服务器与Type Library (.TLB file)关联,则可以。否则,就没有办法了。
如果它作为注册表项TypeLib的默认值存在,您可以找到TLB id(它也是一个guid)引用,这里:
HKCR\CLSID\<your CLSID>\TypeLib
然后,TypeLib id指向
HKCR\TypeLib\<tlb id>
在其中您可以在下面的键中找到TLB路径(取决于体系结构,它可能在x86或x64上有所不同)。
例如,以下是标准ADO的2.6(ActiveX数据对象)类型库的路径:
拥有TLB后,您可以使用COM的API进行浏览。从C ++或本机客户端可以,但对于自动化客户端,如VB,VBScript等,有这个DLL“tlbinf32.dll”允许你这样做。这是一个谈论它的链接:Accessing Type Libraries from VB