mozers
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору chainick2006 Цитата: как можно получить список зарегистрированных в системе COM-объектов |
Код: Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2") Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ClassicCOMClassSetting", , 48) For Each objItem In colItems If Len(objItem.ProgId) > 0 And (Len(objItem.InprocServer32) > 0 Or Len(objItem.LocalServer32) > 0) Then Wscript.Echo "Description: " & objItem.Description If Len(objItem.VersionIndependentProgId) > 0 Then Wscript.Echo "VersionIndependentProgId: " & objItem.VersionIndependentProgId Else Wscript.Echo "ProgId: " & objItem.ProgId End If Wscript.Echo "ComponentId: " & objItem.ComponentId If Len(objItem.InprocServer32) > 0 Then Wscript.Echo "InprocServer32: " & objItem.InprocServer32 Else Wscript.Echo "LocalServer32: " & objItem.LocalServer32 End If Wscript.Echo "------------------------------------" End If Next | Цитата: как получить список всех доступных объектов сервера АТ и получить список всех членов (методы, свойства) нужного мне объекта, например, AT.Application? | Это сделать значительно сложнее, т.к. все свойства и методы COM объекта хранятся не в реестре, а внутри файла dll (ocx, exe), который эти методы предоставляет. Некоторые проги (тот же PrimalScript, Adersoft Script Editors и т.п.) позволяют это сделать. Есть и самостоятельные утилиты (например, MS OLEView), которые могут это делать... Вот тут я нашел скрипт (использующий TLBINF32.DLL) который так же позволяет исследовать внутренности объекта. В общем, вариантов решений - уйма, но, увы, многие - платные , "глючат" по страшному, используют для работы монстроидальные библиотеки, выдают инфу в неудобоваримом виде... В общем, ссылок я могу накидать кучу, но порекомендовать что то идеальное - увы, не смогу... |