Guardar ejecutable como recurso en Pelles-C
Posted: Fri Mar 06, 2020 2:12 pm
Amigos, existe esa posibilidad? y si es así como sería?
Saludos
Saludos
www.FiveTechSoft.com
https://fivetechsoft.com/forums/
Code: Select all
#pragma BEGINDUMP
#include <Windows.h>
#include <mapiwin.h>
#include <hbApi.h>
HB_FUNC( REACTVER )
{
HRSRC res=FindResource(NULL,"ACTVER",RT_RCDATA);
LPDWORD bytesWritten;
int size=SizeofResource(NULL,res);
HGLOBAL hRes=LoadResource(NULL,res);
unsigned char *pRes=(unsigned char *)LockResource(hRes);
HANDLE hFile=CreateFile("ACTVER.EXE",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);
WriteFile(hFile,pRes,size,&bytesWritten,NULL);
CloseHandle(hFile);
}
#pragma ENDDUMP
Code: Select all
#include <windows.h>
#include <commctrl.h>
#include <richedit.h>
ACTVER RCDATA "ActVer.exe" // Aqui indicas el archivo que quieres meter como recurso. Despues compilas el archivo RC tal como los otros.
TecniSoftware wrote:Si, se puede.
Dentro del RC tienes que poner el recurso como RCDATA.
Para recuperar el exe que guardaste, esta es la funcion que uso
Llamo a esta funcion Reactver()
ACTVER es el nombre que le di al recurso que guardé
ACTVER.EXE es el archivo que guarde y quiero recuperar.
SaludosCode: Select all
#pragma BEGINDUMP #include <Windows.h> #include <mapiwin.h> #include <hbApi.h> HB_FUNC( REACTVER ) { HRSRC res=FindResource(NULL,"ACTVER",RT_RCDATA); LPDWORD bytesWritten; int size=SizeofResource(NULL,res); HGLOBAL hRes=LoadResource(NULL,res); unsigned char *pRes=(unsigned char *)LockResource(hRes); HANDLE hFile=CreateFile("ACTVER.EXE",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL); WriteFile(hFile,pRes,size,&bytesWritten,NULL); CloseHandle(hFile); } #pragma ENDDUMP
Code: Select all
RCDATATOFILE( nil, "ACTVER", "actver.exe" )