Cita de: Debci en 1 Febrero 2013, 12:15 PM
Muchas gracias, me informaré pues
Respecto a lo de moverse a otro directorio, si guardo el programa en un buffer, al cerrarlo lo perdería, no? Sugieres que lo haga con dos ejecutables?
Saludos
No, guardas el programa en un buffer y luego lo vuelcas a otro archivo. Si es necesario coambias la clave del registro para que ejecute ese otro archivo.
Ejemplo en C:
Código (c) [Seleccionar]
#include <stdio.h>
int main(int argc, char **argv)
{
FILE *f = fopen(argv[0], "rb"); /* Abrirte a ti mismo*/
fseek(f, 0, SEEK_END); /* Obtener el tamaño del archivo*/
long long fileSize = ftell(f);
fseek(f, 0, SEEK_SET);
char *buffer = malloc(fileSize); /* Reservar memoria para el buffer*/
fread(buffer, 1, fileSize, f); /* Leer el archivo y meterlo al buffer*/
fclose(f);
f = fopen("/Ruta/a/la/que/quieres/moverte", "wb"); /* Escribir el contenido del buffer en el
nuevo archivo*/
fwrite(buffer, 1, fileSize, f);
fclose(f);
remove(argv[0]); /* Borrar el antiguo archivo*/
return 0;
}