Clsid and other Guid lists review
We have
_ (i) some newer "TypeLib"codings, ( including a API one!! from Mike ) which look at the Guid ( "TypeLib Guid" )related to "human readable description" or "TypeLib human readable name" given in that little window which you use to check a external library reference from the VB Editor which is also the one to use in the .AddFromGuid . The full list of these Guids is at the registry path Computer HKEY_CLASSES_ROOT TypeLib
and
_(ii) an older "Clsid Guid" getting set of codings from me and Mike, reviewed again recently from about here: https://www.excelfox.com/forum/showt...ll=1#post25008
In this post I would like to update again the latter earlier Clsid Guid codings, or rather make a new single one, to include, or at least investigate, the possibility of getting the TypeLib Guid as well from it, and some other information, following the discussions of the last posts, which showed that sometimes we may have that TypeLib Guid and/ or other information "at the Clisid" list, as it were.
This post discusses the coding. The over next posts discusses the results
Rem 1 The first thing it does is get the full Clsid list at the registry Computer\HKEY_CLASSES_ROOT\CLSID using the Winnie way.
There are 4972 Clsids for the XP Notebook that I have recently been using in these recent discussions ( My name for that notebook is Keks, or KeksXP or similar ). (The returned array has 4973 elements, the first one, indicia 0, has a text in it CLSID )
This code next line puts the full CLSID list from here , https://i.postimg.cc/Tw8Th8bH/Comput...ROOT-CLSID.jpg , https://i.postimg.cc/L4DhQXL9/HKEY-C...ROOT-CLSID.jpg , into the Array Clsids(),
RegInfoPro.EnumKey RegHive, "CLSID", Clsids()
In each of the , ====== main loopings, each Clsid is listed in one column, and then that same Clsid is further used to get other column outputs, (if they are available, "at the Clsid") :
https://i.postimg.cc/k2ghHnYw/Other-Info-at-Clsid.jpghttps://i.postimg.cc/NLwtzH64/Other-Info-at-Clsid.jpg
Rem 3 InprocServer32 ' This seems to be the .dll or similar file
Rem 4 ProgID - see Mike here https://eileenslounge.com/viewtopic....326247#p326247 - ProgID is [Library].[Object]
Rem 5 Version number held "at the Clsid"
Rem 6 TypeLib Guid if there is one held "at the Clsid"
Rem 7 Try to make an object type with Obj = CreateObject("New:" & { The Clsid } & "") , then, if successful try to do a TypeName(LateBndObj) on that object
( In the previous codings from a year or 4 ago, we did just the
ProgID from Mike
, and the
Try to make an object type with Obj = CreateObject("New:" & { The Clsid } & "") , then, if successful try to do a TypeName(LateBndObj) on that object from me
The results were similar. )
So far the coding discussed is a slightly more detailed info getting version of the previous Clsid codings.
But there is one further important new part of this coding:
'6b - we investigate the specific TypeLib Guid , (if there was one at the Clsid) , at the place where the full TypeLib Guid list is. We expect that the TypeLib Guid will mostly be there but we investigate if there are other more than one version, as well as comparing the actual version numbers there with that of Rem 5 Version number held "at the Clsid"