|
Language: VB4/32,VB5,VB6 Expertise: Intermediate
Apr 21, 2001
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
|