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 :
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 ?
Partager