Bonjour,

Je suis à la recherche de la fonction Delphi (ou API Windows) qui permet de récupérer
le nom réel d'un module chargé.

Le contexte est le suivant :

J'ai une DLL "c:\temp\MaDLL.dll" obtenue par compilation du projet delphi "MaDLL.dpr"

Je renomme ce fichier en "c:\temp\DLL_V150.dll" .


Je charge cette DLL depuis mon programme principal et j'essaie de récupérer son nom :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
	procedure getNomLib(var nom:string);
  	var hd:THandle; nom:string;
	begin
  		hd:=loadLibrary('c:\temp\DLL_V150.dll');
  		nom:=getModuleName(hd);
	end;
Au retour de l'appel à "getNomLib" la variable "nom" vaut : 'c:\temp\DLL_V150.dll'

Dans l'IDE Delphi on peut voir la liste des modules : "Fenêtre de débogage>>Modules"

Cette liste se présente sous forme d'une table. Pour ce qui est de ma librairie je vois les
informations suivantes :


|NOM | CHEMIN |
|MaDLL.dll | c:\temp\DLL_V150.dll |

Et donc, je pense qu'il est possible de récupérer le nom réel de ma dll "MaDLL.dll" depuis mon programme principal, qu'en pensez-vous ?