HANDLE LoadLibrary(LPCSTR NomBibliotheque);
#include <windows.h>
#include <winbase.h>
HANDLE Handle;
void (*Procedure)(void);
...
Handle=LoadLibrary("/tmp/essai.dll");
if (!Handle)
{
...
}
...
Procedure=(void (*)(void))GetProcAddress(Handle, "MaProcedure");
if (!Procedure)
{
...
}
...
(*Procedure)();
...
FreeLibrary(Handle);
...
Si le chemin n'est pas précisé, la bibliothèque est recherchée parmi la liste des chemins précisée par la variable environnement PATH.
Le résultat est NULL si le chargement n'a pu avoir lieu.
La bibliothèque doit comporter un fichier def énumérant les symboles exportés. Voici un exemple :
EXPORTS
UpsSysDemarrerModule