Hola. Estoy escribiendo un programillo que, aunque no está destinado a ser malware (aunque quien sabe... xD), tiene una estructura con cierta similitud a un virus (o eso me parece a mi). Como creo que el error no es de programación, sino que está causado porque windows no deja realizar una acción, os escribo este tema en este subforo.
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)#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