• Viernes 8 de Noviembre de 2024, 20:16

Autor Tema:  Ayuda Con Ejecutable  (Leído 1918 veces)

Linspire

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
    • http://www.cedrela.com.mx
Ayuda Con Ejecutable
« en: Domingo 14 de Enero de 2007, 21:54 »
0
Hola a todos, resulta que estuve buscando en el foro y no encontré algo relacionado (o quizá no busqué bien :unsure: ), pero lo que quiero hacer es lo siguiente:

Crear un ejecutable y que después de cierto tiempo, digamos, la siguiente semana o en una fecha específica se autodestruya. :devil:

Algo así como un Robot, pero no tengo idea de como hacerlo, lo único que se me ocurre es crear dos aplicaciones y una de ellas que se encargue de destruir a la otra, pero no me parece muy fiable.

Alguién podría ayudarme con esto?

Muchas gracias de antemano. :D
[size=109]My Blog de Programación[/i][/b][/size]
´


[size=109]Tan solo quiero pensar que todo es un sueño y que no quiero despertar
porque quiero controlarlo como yo quiera.
[/size]

Todo es posible, lo imposible solo cuesta un poco más. Dan Drown.

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Ayuda Con Ejecutable
« Respuesta #1 en: Lunes 15 de Enero de 2007, 05:39 »
0
en la primera corrida guarda la fecha en algun lado y cada vez que se ejecuta fijate cuanto paso, cuando pasa el limite corre un comando del sistema
rm o remove con system

Linspire

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
    • http://www.cedrela.com.mx
Re: Ayuda Con Ejecutable
« Respuesta #2 en: Martes 16 de Enero de 2007, 04:25 »
0
Creo haber entendido lo que dices, pero sucede que no tengo mucha experiencia en cuanto a lo de sistemas, podrìas darme un poco màs de informaciòn sobre como correr el comando que mencionas? :)

Gracias por responder :D
[size=109]My Blog de Programación[/i][/b][/size]
´


[size=109]Tan solo quiero pensar que todo es un sueño y que no quiero despertar
porque quiero controlarlo como yo quiera.
[/size]

Todo es posible, lo imposible solo cuesta un poco más. Dan Drown.

wako13

  • Miembro activo
  • **
  • Mensajes: 36
    • Ver Perfil
Re: Ayuda Con Ejecutable
« Respuesta #3 en: Martes 16 de Enero de 2007, 17:58 »
0
Puedes utlizar el Timer de la pestaña System, aca te dejo un trozo de código que uso para apagar mi maquina cuando la dejo descargando en las noches  :comp:

Código: Text
  1. void __fastcall TForm1::FormCreate(TObject *Sender)
  2. {
  3.         Timer2->Enabled = true;
  4.  
  5.  
  6.  
  7. }
  8. //---------------------------------------------------------------------------
  9.  
  10. void __fastcall TForm1::Timer2Timer(TObject *Sender)
  11. {
  12.         //los timer tienen un intervalo de 10 min
  13.         Timer2->Enabled = false;
  14.         Timer1->Enabled = true;        
  15. }
  16. //---------------------------------------------------------------------------
  17.  
  18. void __fastcall TForm1::Timer1Timer(TObject *Sender)
  19. {
  20.         Word Whora, Wminu, Wsegu, Wmili;
  21.         DecodeTime(Time(), Whora, Wminu, Wsegu, Wmili);
  22.                 if (100 * Whora + Wminu >= 2045) //para apagarse a a las >=20:45 PM
  23.                         {
  24.                                 ApagarWindows();
  25.                         }
  26.                 else
  27.                         {
  28.                                
  29.                                 Timer1->Enabled = false;
  30.                                 Timer2->Enabled = true;
  31.                         }
  32. }
  33.  

Es una idea...

Saludos Cordiales

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ayuda Con Ejecutable
« Respuesta #4 en: Martes 16 de Enero de 2007, 18:52 »
0
Creo que no estan teniendo en cuenta el verdadero problema que acarrea este borrado: el archivo esta abierto y hasta que no se cierre no se puede borrar, por tanto no puede ser borrado por el mismo proceso.

Una solucion simple que se me ocurre ahora es crear un archivo interpretado (lease bat, vbs, etc) en tiempo de ejecucion y que este espere unos segundos mientras nuestro ejecutable muere y ahi lo borre, aca hay un burdo ejemplo:

Código: Text
  1.  
  2. #include <windows.h>
  3.  
  4. void main()
  5. {
  6.   HANDLE Killer = CreateFile("Killer.vbs", GENERIC_ALL, 0, 0, CREATE_ALWAYS, 0, 0);
  7.   if (Killer != INVALID_HANDLE_VALUE)
  8.   {
  9.     DWORD written = 0;
  10.     char err[] = "On Error Resume Next\r\n";
  11.     char sl[] = "WScript.Sleep 5000\r\n";
  12.     char fs[] = "Set FS = CreateObject(\"Scripting.FileSystemObject\")\r\n";
  13.     char dels[] = "FS.DeleteFile \"";
  14.     char dele[] = "\"\r\n";
  15.     char suicide[] = "Fs.DeleteFile \"Killer.vbs\"";
  16.     char file[1024];
  17.     GetModuleFileName(0, file, 1024);
  18.     WriteFile(Killer, err, strlen(err), &written, 0);
  19.     WriteFile(Killer, sl, strlen(sl), &written, 0);
  20.     WriteFile(Killer, fs, strlen(fs), &written, 0);
  21.     WriteFile(Killer, dels, strlen(dels), &written, 0);
  22.     WriteFile(Killer, file, strlen(file), &written, 0);
  23.     WriteFile(Killer, dele, strlen(dele), &written, 0);
  24.     WriteFile(Killer, suicide, strlen(suicide), &written, 0);
  25.     CloseHandle(Killer);
  26.     ShellExecute(0, "open", "Killer.vbs", 0, 0, SW_HIDE);
  27.   }
  28. }
  29.  
  30.  

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Linspire

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
    • http://www.cedrela.com.mx
Re: Ayuda Con Ejecutable
« Respuesta #5 en: Jueves 18 de Enero de 2007, 04:17 »
0
Perfecto, me han dado muchas ideas que estoy seguro podràn servirme, dejenme probar y ya respondo que pasa, y si logro hacerlo publicaré el código por si a alguien le es de utilidad.

 :P  :D
[size=109]My Blog de Programación[/i][/b][/size]
´


[size=109]Tan solo quiero pensar que todo es un sueño y que no quiero despertar
porque quiero controlarlo como yo quiera.
[/size]

Todo es posible, lo imposible solo cuesta un poco más. Dan Drown.