- '
- ' 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"
- '
'
' 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"
'