begin process at 2012 05 30 22:42:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

Vérifier l'existence d'une fonction dans une DLL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Vérifier l'existence d'une fonction dans une DLL

lundi 28 août 2006 à 19:16:51 | Vérifier l'existence d'une fonction dans une DLL

Roro8883

Bonjour, je souhaiterais savoir quelle fonction existe pour vérifier si une fonction dont je connais les paramètres et tout se trouve dans une DLL...

Ou s'il n'y a pas de fonction pour faire ça, comment pourrais-je savoir si la DLL comporte bien cette fonction ?

Et je voudrais faire cette vérification dans mon programme donc il me faut du code et pas un logiciel pour "explorer" les DLL ....

Voilà, merci d'avance

lundi 28 août 2006 à 19:50:40 | Re : Vérifier l'existence d'une fonction dans une DLL

racpp

Administrateur CodeS-SourceS
Salut,
Tu peux utiliser GetProcAddress(). Si le nom de la fonction passé en paramètre n'existe pas cette fonction retourne 0.

lundi 28 août 2006 à 20:04:22 | Re : Vérifier l'existence d'une fonction dans une DLL

racpp

Administrateur CodeS-SourceS
Il faut qu'un type de pointeur soit défini pour ta fonction. Exemple:
typedef int (WINAPI *PMafonction)( int , int);
Cette fonction recoit deux int et renvoit un int.
Ensuite on charge la dll:
HINSTANCE hDLL = LoadLibrary("madll.dll");
Pour obtenir le pointeur sur ta fonction, tu fais:
PMafonction  mafonction= (PMafonction) GetProcAddress(hDLL, "nomdelafonction");
if(!mafonction) -> Cette fonction n'existe pas.
else -> La fonction existe ....
Il ne faut pas oublier de libérer la dll quand on n'en a plus besoin:
FreeLibrary(hDLL);

lundi 28 août 2006 à 23:26:46 | Re : Vérifier l'existence d'une fonction dans une DLL

BruNews

Administrateur CodeS-SourceS
Si la fonction est exportée en NONAME c'est dans le baba la méthode par le nom, c'est ce qu'utilise MFC (entre autres).

ciao...
BruNews, MVP VC++
vendredi 1 septembre 2006 à 16:55:01 | Re : Vérifier l'existence d'une fonction dans une DLL

hibakusha


Et tu peut très bien trouver une fonction dont le nom est "lenomdemafonction" mais qui ne prend pas du tout les mêmes argument que ceux que tu attend, et la, c'est le drame.

Mais pourquoi as tu besoin de faire cela ? Ce que tu désires faire ne serait il pas une fausse solution à un vrai problème ?

zNoRt~!


Cette discussion est classée dans : fonction, dll, existence, vérifier


Répondre à ce message

Sujets en rapport avec ce message

Préprocesseur vérifier existence d'une fonction [ par Fituza ] Bonsoir, je souhaiterai trouver un moyen de vérifier l'existence de vsscanf pour définir des fonctions l'utilisant. Existe t-il une commande préproces dialogue avec dll [ par Chayy ] Bonjour,je cherche à donner des informations à ma dll à partir de mon application principale. Je dois lui fournir deux tableaux, qui seront utilisés d pointeur sur une fonction [ par pasty ] Bonjour,J'appelle une fonction f(int *,int *,int) dont le code  est dans un DLL depuis le programme principal main.cpp Je déclare la fonction dans m importer une fonction depuis un dll externe [ par Rabbi Jakob ] Bonjour,Je programme en c++ sous visual studio 2005J'ai un petit problème avec ma dll Je dispose d'une dll avec son fichier .lib. Je les ai mis tous l fonction recevant un pointeur de fonction d'une classe [ par fuliculi ] Bonjour à tous,j'ai un thread qui doit faire évoluer une variable "progress" de 0 à 100% (j'utilise les mutex pour éviter les écritures/lectures simul utilisation __stdcall [ par MarmottE73 ] bonjour,j'ai un petit problème. je doit utiliser une dll en c++ dans un programme mais c'est la premiere fois. j'ai deja vu sur des forum qu'on utilis Pb d'integration de dll [ par mrous ] Bonjour,je dois utiliser dans un logiciel une DLL généré à partir de Matlab. La fonction à utiliser se trouve dans un .lib, un .h et un .dll.J'ai vu s DLL sou VS.net2003, puis de la DLL à la XLL [ par gadzou ] Bonjour, Dans l'extension via DLL C++ des fonctionnalités de VBA, j'adoptais sous VS6.0 l'architecture .def + .h + .cpp, où le .def contenait <spa Espionner une dll pour récupérer un flot de données [ par gorets ] J'ai un programme qui utilise une fonction placée dans une dll. cette dll redirige par une fonction un flux de donnée vers le port parallèle (ou série implementation d'une fonction callback pour l'appel à une DLL [ par 3asfoura ] Hi all!J'utilise visual c++ 6.0.J'ai une DLL client dont je connais seulement les noms de fonctions visualisés sous "Dependency walker". Je veux imple


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales