Si pensais que no corresponde a esta sección, aceptad mis disculpas y el tema.
Comencemos: lo que trato de hacer es un programa (en c++) que se ejecute cada vez que abro el firefox. Lo estoy intentando de esta manera: (solo pondré la parte del codigo que nos interesa)
Código
#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <dir.h>
int main()
{
char filefox[]="C:\\Program Files\\Mozilla Firefox\\filefox.exe";
FILE *fl = fopen(filefox,"r");
if( fl ) { //Compruebo si el archivo filefox existe
fclose(fl);
exit(0); //Si existe se cierra el programa
}
else
{
CopyFile("C:\\Program Files\\Mozilla Firefox\\firefox.exe","C:\\Program Files\\Mozilla Firefox\\filefox.exe",FALSE);
//Si no existe hago una copia de firefox llamandola "filefox"
//AQUÍ ES DONDE ESTÁ EL FALLO, ahora intento sobrescribir firefox con este archivo
if(CopyFile("proyecto2.exe","C:\\Program Files\\Mozilla Firefox\\firefox.exe",FALSE)==1)
{printf("bien hecho"); //Se sobrescribe
}
else
{
printf("mal hecho"); //No se sobrescribe
}
}
getchar();
}
(finalmente quedaría ejecutar "filefox.exe" para que se abra internet normalmente)
Por desgracia se imprime en pantalla "mal hecho". Lo estoy ejecutando como administrador, y con firefox.exe cerrado.
¿Hay algo que haya olvidado tener en cuenta?
¿Lo que intento hacer es posible?
¿Hay alguna otra forma de hacelo?
PD: por si hace falta, uso win7 =P
Gracias... MasterPunk










Autor




En línea



Si el proceso esta abierto no te deja ni sobrescribir ni eliminar el archivo...

eso de estar llamando cmd a cada rato es asqueroso 
....
