Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB4/32,VB5,VB6
Expertise: Intermediate
Apr 21, 2001



Building the Right Environment to Support AI, Machine Learning and Deep Learning

GetFileFromProgID - The file that implements a COM component with given ProgID

' Get the name of the DLL or EXE that contains
' the class whose ProgID is passed as an argument
' Remote servers aren't taken into account
' NOTE: Requires GetRegistryValue

Function GetFileFromProgID(ByVal ProgID As String) As String
    Dim clsid As String
    Const HKEY_CLASSES_ROOT = &H80000000

    ' get the CLSID from the registry, exit if not found
    clsid = GetRegistryValue(HKEY_CLASSES_ROOT, ProgID & "\CLSID", "")
    If Len(clsid) = 0 Then Exit Function
    ' try to read the HKEY_CLASSES_ROOT\CLSID\{...}\InProcServer32 value
    GetFileFromProgID = GetRegistryValue(HKEY_CLASSES_ROOT, _
        "CLSID\" & clsid & "\InProcServer32", "")
    ' exit if found
    If Len(GetFileFromProgID) Then Exit Function
    ' try to read the HKEY_CLASSES_ROOT\CLSID\{...}\LocalServer32 value
    GetFileFromProgID = GetRegistryValue(HKEY_CLASSES_ROOT, _
        "CLSID\" & clsid & "\LocalServer32", "")
End Function
Francesco Balena
Thanks for your registration, follow us on our social networks to keep up-to-date