Question

Nous avons une application .NET qui doit examiner un dossier qui peut contenir des bibliothèques COM (DLL et OCX.) Quand nous faisons rencontrer une bibliothèque COM une chose que nous devons accomplir est d'extraire le GUID de la COM DLL ou OCX .

Y at-il un moyen simple de le faire avec .NET sans utiliser les bibliothèques 3ème partie?

Était-ce utile?

La solution

Cela devrait travailler pour vous. Il faut une référence à c:. \ Windows \ system32 \ tlbinf32.dll , mais je suppose que c'est correct parce que ce n'est pas un composant tiers

Imports TLI 'from c:\windows\system32\tlbinf32.dll

Dim reglib As TLI.TLIApplication = New TLI.TLIApplicationClass()
Dim DLLPath As String = "c:\mycomponent.ocx"
MsgBox(reglib.TypeLibInfoFromFile(DLLPath).GUID.ToString())

Autres conseils

Vous devrez utiliser Interop (à la fois P / Invoke et COM) afin de le faire. Tout d'abord, vous devrez appeler le LoadTypeLib pour obtenir l'interface ITypeLib pour la bibliothèque de types.

A partir de là, vous devrez utiliser les méthodes sur ce afin d'obtenir le GUID de la bibliothèque, ou d'obtenir les instances CLSID ou IID quoi que ce soit défini dans la bibliothèque.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top