Bonjour,
je souhaite construire un executable qui, entre autre, extrait une dll qu'il contient.
est-ce qu'il existe un moyen de faire ca, comme les installer de windows en utilisant l'api windows ?
merci
Bonjour,
je souhaite construire un executable qui, entre autre, extrait une dll qu'il contient.
est-ce qu'il existe un moyen de faire ca, comme les installer de windows en utilisant l'api windows ?
merci
Bonjour,
Il suffit de mettre le fichier (dans ton cas, la DLL) en ressource d' exécutable (ressource de type RT_RCDATA) , puis faire, dans cet ordre :
- FindResource
- SizeOfResource
- LoadResource
- LockResource (cette fonction retourne un pointeur sur la ressource recherchée, pointeur qui sera utilisé avec l'API WriteFile)
- CreateFile
- WriteFile (on écrit "nombre octet" retournés par SizeOfResource ; la source est le pointeur retournée par LockResource)
- CloseHandle (sur le fichier créé par CreateFile).
Il n'y pas besoin de clore la ressource, seulement le fichier créé. On peut mettre SizeOfResource n'importe où après FindResource et avant WriteFile. Les autres APIs devront être, quant à elles, utilisées dans l'ordre.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager