Autor
|
Tema: Borrar ejecutable en proceso! (Leído 3,821 veces)
|
dooque
Desconectado
Mensajes: 170
|
Wenas!
Mi pregunta de hoy es si alguien sabe (si es que se puede) como borrar un archivo ejecutable desde el mismo proceso generado por ese ejecutable. Por ejemplo tengo mi programa test.exe y quiesiera que cuando lo ejecute él borrara su propio archivo ejecutable.
Pregunto esto porque de la manera usual no se puede, el sistema no te deja y a lo mejor alguien sabe/conoce/existe alguna API que me permita hacer eso!
Saludos!
Gonzalo.
|
|
|
En línea
|
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Kernighan
|
|
|
winroot
Desconectado
Mensajes: 589
#include<winroot.h>
|
Buenas! Me imagino que no te deja por que el archivo ya está en uso. Bien, tal vez me equivoque, pero podrías hacer un segundo ejecutable. Llamas al segundo ejecutable desde el primero, usando CreateProcess o lo que sea, y luego se cierra. El ejecutable b espera por unos segundos, elimina el ejecutable a, y luego se cierra. Incluso puedes usar fstreams y escribir un script js/vbs que haga la tarea. Repito, capáz que no es la mejor solución, además de que supongo que estás en windows. Un abrazo.
|
|
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Moderador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
No se puede borrar el ejecutable mientras se encuentre en ejecución. Se pueden hacer otras cosas como iniciar un proceso secundario que sincronice con el ejecutable principal y lo borre terminada su ejecución. El efecto es el mismo y es por demás la solución mas sencilla. Si reiniciar es una opción, podes usar MoveFileEx con el flag MOVEFILE_DELAY_UNTIL_REBOOT: If dwFlags specifies MOVEFILE_DELAY_UNTIL_REBOOT and lpNewFileName is NULL, MoveFileEx registers the lpExistingFileName file to be deleted when the system restarts. If lpExistingFileName refers to a directory, the system removes the directory at restart only if the directory is empty. Saludos
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
dooque
Desconectado
Mensajes: 170
|
Muy bien! Muchas gracias!
Si, ya tengo varias soluciones alternativas a mi problema vastante viables y no tan oscuras, solo queria asegurarme que no habia otra forma de hacerlo mejor!
Salduos!
|
|
|
En línea
|
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -- Kernighan
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Terminar proceso y borrar ejecutable en BATCH
Scripting
|
GN1000
|
6
|
6,093
|
12 Octubre 2007, 07:33 am
por Crazy.sx
|
|
|
Borrar ejecutable en ejecucion
Análisis y Diseño de Malware
|
nts94
|
2
|
3,135
|
26 Marzo 2012, 11:51 am
por nts94
|
|
|
Cuando se pase de fecha, borrar el propio ejecutable.
.NET (C#, VB.NET, ASP)
|
Meta
|
9
|
4,244
|
17 Enero 2016, 14:57 pm
por Meta
|
|
|
Como borrar la cabecera de mi ejecutable usando esta funcion
Programación C/C++
|
Borito30
|
3
|
2,121
|
26 Mayo 2017, 02:36 am
por Borito30
|
|
|
Borrar la cabecera de un ejecutable .NET
.NET (C#, VB.NET, ASP)
|
Borito30
|
5
|
4,247
|
28 Mayo 2017, 18:18 pm
por Borito30
|
|