Trouver la classid d'une dll activex

Soyez le premier à donner votre avis sur cette source.

Vue 14 177 fois - Téléchargée 1 180 fois

Description

Bonjour, suite a quelques questions comment fonctionne les les DLL ActiveX dans vb je me permet de vous proposer cette source qui offre la possibilité de retoruver facillement la ClassID (communement appelé GUID par abus de langage). Cet identifiant vous permet entre autre de d'identifier vos classe publique dans vos dll au yeux du shell de windows. PAr exemple pour créer une extension du menu contextuel.

Imaginons que vous compiliez une DLL nommé Projet1 avec une classe publique nommée Classe1 vous taper alors dans le programme "Projet1.Classe1" puis vous cliquez sur "Search". Le programme va alors retrouver les identifiants en recherchant dans la base de registre puis dans votre DLL.

Conclusion :


J'hesite encore a faire une sorte d'assistant ou on choisirais un fichier dll puis il afficherais toute les classe disponible avec les id ou bien encore un add in vb, a voir...

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_DarkVader Messages postés 51 Date d'inscription samedi 21 octobre 2000 Statut Membre Dernière intervention 10 octobre 2011
19 mars 2007 à 16:05
Effectivement, mais il m'a semblé utile d'en citer l'existence
pour qui était intéressé par le sujet. 8)
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
19 mars 2007 à 15:44
En effet il existe d'autres methodes... hors celle que tu mentionne utilise une dll tierce partie et quand on peux s'en passé c'est encore mieu ;p

@+
cs_DarkVader Messages postés 51 Date d'inscription samedi 21 octobre 2000 Statut Membre Dernière intervention 10 octobre 2011
16 mars 2007 à 09:44
Bonjour Ebartsoft,
Comme j'ai tendance à lire en diagonale,
il est possible que je n'ai pas saisi le but exact de l'exercice
(trouver le GUID et les CLSID ou les convertir).
Juste pour compléter cette file, il existe une librairie méconnue
qui gère cet exercice : TLI (Typelib Informations) -

Sub getCLSID(fullFileName As String)
Dim clsTLI As New TLIApplication, objTLI As New TypeLibInfo, i As Long

Set objTLI = clsTLI.TypeLibInfoFromFile(fullFileName)
Debug.Print "GUID de la librairie: "; vbTab & objTLI.GUID
Debug.Print String(64, "-")
For i = 1 To objTLI.CoClasses.Count 'shows GUID of each class
Debug.Print " Classe: "; objTLI.CoClasses(i).Name
Debug.Print Space(12) & "=====> CLSID: "; objTLI.CoClasses(i).GUID
Next
Debug.Print
End Sub
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
22 févr. 2007 à 09:12
Oui pas eu le temps de repondre mais il suffit d'aller piocher la clef HKEY_CLASSES_ROOT\CLSID\{CLSID}\InprocServer32
cs_Tropic Messages postés 90 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 1 février 2011
22 févr. 2007 à 08:37
OK! j'ai compris!
une fois que j'ai la CLASSID,
il suffit de récupérer dans la base de registre
les infos qui me manquent.
Je voulais avoir du tout cuit ;-)
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.