Page 1 of 1

Guardar ejecutable como recurso en Pelles-C

Posted: Fri Mar 06, 2020 2:12 pm
by horacio
Amigos, existe esa posibilidad? y si es así como sería?

Saludos

Re: Guardar ejecutable como recurso en Pelle-C

Posted: Fri Mar 06, 2020 3:25 pm
by karinha
Horácio,

No entiendo. ¿Cuál es la razón de esto? ¿Qué quieres con esto? Explícalo mejor porque no tiene sentido. Aunque no entendí tu pregunta.

Saludos.

Re: Guardar ejecutable como recurso en Pelle-C

Posted: Fri Mar 06, 2020 4:38 pm
by TecniSoftware
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.

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

 
Saludos

Re: Guardar ejecutable como recurso en Pelle-C

Posted: Fri Mar 06, 2020 9:57 pm
by horacio
Gracias Alejandro, es lo que necesito pero no encuentro RCDATA en Pelles-C. Debo crearlo?

Muchas Gracias
Saludos

Re: Guardar ejecutable como recurso en Pelles-C

Posted: Sun Mar 08, 2020 6:41 pm
by TecniSoftware
Te paso el contenido del archivo .RC que utilizo:

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.

 
Saludos

Re: Guardar ejecutable como recurso en Pelle-C

Posted: Sun Mar 08, 2020 8:01 pm
by nageswaragunupudi
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.

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

 
Saludos

Can we not use the FWH built-in function

Code: Select all

RCDATATOFILE( nil, "ACTVER", "actver.exe" )