1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
int main
{
FonctRessourceCopy();
...
}
void FonctRessourceCopy()
{
// Déclaration des variables:
HANDLE hFichier;
DWORD taille;
LPVOID pointeur;
HGLOBAL hRessource;
HRSRC Maressource;
DWORD ecrits;
// Trouver la ressource:
Maressource=FindResource(0,MAKEINTRESOURCE(EXE_ID),"RCDATA");
// Déterminer sa taille:
taille=SizeofResource(0,Maressource);
// Charger la ressource en mémoire:
hRessource=LoadResource(0,Maressource);
// Obtenir un pointeur sur cette zone mémoire:
pointeur=LockResource(hRessource);
// Créer le fichier destination:
hFichier=CreateFile("C:\\solitaire.exe",GENERIC_WRITE,0,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
// Copier la ressource dans le fichier:
WriteFile(hFichier,pointeur,taille,&ecrits,0);
// Fermer le fichier:
CloseHandle(hFichier);
} |
Partager