Voici comment charger une DLL sans avoir à fournir cette DLL.
En fait c'est assez simple.
Si vous avez une DLL qui vous sert à faire un Hook sur le clavier,
il vous suffit de mettre le code de la dll dans votre application.
De bien mettre l'export dans cette meme application (comme si vous le faisiez la dll).
Et au lieu de mettre
EXTERNAL 'Ma.dll', vous mettez EXTERNAL 'mon.exe'
L'application se lance se garge elle meme comme une dll.
Si l'utilisateur renome l'application, il vas y avoir un soucis.
Le mieux etant de charger la "dllExe" dynamiquement en mettant ExtractFileName(ParamStr(0))