Retrouver les données publiques dans une bibliothèque

Soyez le premier à donner votre avis sur cette source.

Vue 3 652 fois - Téléchargée 767 fois

Description

Retrouver les fonctions, les procédures et différentes déclarations dans un fichier exécutable(DLL, OCX ou même EXE) nous permet de les utiliser et de connaître celles qui, jusqu'alors, nous sont inconnues. Tel est le but de ce bout de code.
Une ListBox nous affiche le CLSID du fichier, le CLSID de chaque classe contenue dans le fichier et les membres de chaque classe.
En plus, un fichier(appelé ici "Params.txt") est créé dans le dossier de l'application pour retrouver toutes les déclarations avec leurs types(de données).
Dans certains cas, le type n'étant pas connu, on met alors "As Unknown".
Lorsque les fonctions ne sont pas typées(ne se terminent pas par As 'Type'), elles seront traitées comme étant des procédures(Sub) et non ds fonctions(Function).
Les variables publiques sont répétées deux fois: une première fois précédée de "2" qui est la valeur de la constante "INVOKE_PROPERTYGET", une deuxième fois par "4" qui est la valeur de la constante "INVOKE_PROPERTYPUT". On n'en fera apparaître qu'une seule instance.
D'une façon générale, les paramètres des routines(Sub ou Function) sont passés par valeur(ByVal). C'est la technique adoptée ici.

Conclusion :


Reste à vérifier si certaines données sont des "Property" ou non ainsi que le type de certains d'entre elles et celui de certaines fonctions...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

VBsearch
Messages postés
50
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
22 août 2009

Tu as raison, j'ai oublié de supprimer les références inutilisées. Le fichier "Params.txt" existait au départ, mais ta suggestion de Copier/Coller m'a incité à introduire cette fonctionnalité au cas où on en aurait besoin.
Merci pour les remarques
cs_Patrice99
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

Tu as oublié les 2 références inexistantes.
Pour le copié/collé, en fait c'est tout le fichier Params.txt qui est utile, je n'avais pas vu ce fichier avant, mais c'est super comme ça (copier une seule ligne dans le presse papier n'est pas très utile).
VBsearch
Messages postés
50
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
22 août 2009

En compilé, le programme plante lorsqu'on essaie d'ouvrir un fichier sans informations de type ou parfois lorsqu'on annule une action. Voir la version corrigée que je vais poster maintenant.
A+
cs_Patrice99
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

cmdChoixFichier_Click : si sFile = "" alors ne pas appeler GetInfos(sFile)
ça ne plante qu'en mode compilé seulement.
VBsearch
Messages postés
50
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
22 août 2009

Effectivement, la référence à Office 12 est de trop et j'ai oublié de la désactiver ainsi que "Microsoft Visual Basic 6.0 Extensibility" et "Microsoft Add-In Designer" car au départ j'ai voulu faire de ce bout de code un complément puis je me suis ravisé. Merci pour la remarque.
Pour ce qui est plantage en annulant le choix d'un fichier, est-ce lorsqu'on exécute le programme dans l'IDE ou bien le programme compilé ? Moi ça ne m'est pas arrivé...

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.