Source / Exemple :
'
' Un .EXE dans un .EXE ...
' =================
'
' - Créez un fichier source de ressources (.RC)
' (Voir l'aide en ligne de VB à propos des fichiers ressources...)
'
' Exemple -> le fichier "ResExe.rc" contenant la ligne suivante:
' ("MonFichier.exe" est le fichier qui sera intégré dans l'executable VB)
'
' fichexe EXE MonFichier.exe
'
' - Créez le fichier de ressources (.RES) "ResExe.res" en compilant "ResExe.rc"
' (Il faut utiliser un compilateur de ressources...)
'
' - Créez un projet VB et insérez "ResExe.res" dans ce projet
' La ressource "MonFichier.exe" est maintenant accessible, exemple:
' (le module contenant les APIs n'est pas présent ici)
'
' -------------------------------------------------------------
'
Option Explicit
Const FTAILLE = 351744 '//Taille du fichier "MonFichier.exe" (voir ResExe.rc)
Const FDESTINATION = "\MonExe.exe" '//Nom du fichier .EXE de destination
Private Sub Form_Load()
Dim Data() As Byte
Dim szPath As String * MAX_PATH
Dim sa As SECURITY_ATTRIBUTES
Dim hFic As Long, taille As Long, octets As Long
With sa
.nLength = Len(sa)
.lpSecurityDescriptor = 0
.bInheritHandle = True
End With
Data() = LoadResData("fichexe", "EXE") '(voir ResExe.rc)
taille = MAX_PATH
szPath = String(MAX_PATH, 0)
Call GetSystemDirectory(szPath, taille)
call lstrcat(szPath, FDESTINATION)
hFic = CreateFile(szPath, _
GENERIC_WRITE, _
0&, _
sa, _
CREATE_ALWAYS, _
FILE_ATTRIBUTE_NORMAL, _
0&)
Call WriteFile(hFic, Data(0), FTAILLE, octets, 0&)
Call CloseHandle(hFic)
End Sub
'
' -------------------------------------------------------------
'
' A l'execution, ce programme copiera la ressource "MonFichier.exe"
' dans le répertoire systeme de windows sous le nom "MonExe.exe"
'
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.