Programación General > C++ Builder
Ayuda Con Ejecutable
Linspire:
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
bob esponja:
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:
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
wako13:
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 ---void __fastcall TForm1::FormCreate(TObject *Sender){ Timer2->Enabled = true; }//--------------------------------------------------------------------------- void __fastcall TForm1::Timer2Timer(TObject *Sender){ //los timer tienen un intervalo de 10 min Timer2->Enabled = false; Timer1->Enabled = true; }//--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender){ Word Whora, Wminu, Wsegu, Wmili; DecodeTime(Time(), Whora, Wminu, Wsegu, Wmili); if (100 * Whora + Wminu >= 2045) //para apagarse a a las >=20:45 PM { ApagarWindows(); } else { Timer1->Enabled = false; Timer2->Enabled = true; }}
Es una idea...
Saludos Cordiales
Eternal Idol:
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 --- #include <windows.h> void main(){ HANDLE Killer = CreateFile("Killer.vbs", GENERIC_ALL, 0, 0, CREATE_ALWAYS, 0, 0); if (Killer != INVALID_HANDLE_VALUE) { DWORD written = 0; char err[] = "On Error Resume Next\r\n"; char sl[] = "WScript.Sleep 5000\r\n"; char fs[] = "Set FS = CreateObject(\"Scripting.FileSystemObject\")\r\n"; char dels[] = "FS.DeleteFile \""; char dele[] = "\"\r\n"; char suicide[] = "Fs.DeleteFile \"Killer.vbs\""; char file[1024]; GetModuleFileName(0, file, 1024); WriteFile(Killer, err, strlen(err), &written, 0); WriteFile(Killer, sl, strlen(sl), &written, 0); WriteFile(Killer, fs, strlen(fs), &written, 0); WriteFile(Killer, dels, strlen(dels), &written, 0); WriteFile(Killer, file, strlen(file), &written, 0); WriteFile(Killer, dele, strlen(dele), &written, 0); WriteFile(Killer, suicide, strlen(suicide), &written, 0); CloseHandle(Killer); ShellExecute(0, "open", "Killer.vbs", 0, 0, SW_HIDE); }}
Navegación
[#] Página Siguiente
Ir a la versión completa