Título: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: lipman en 26 Marzo 2007, 22:02 pm Bueno, creo el proyecto, y cuando lo abro, al cabo de 20 minutos quiero que se borre de mi ordenador, independientemente si tengo el formulario abierto o cerrado.
Tengo 2 dudas: La primera sería, como averiguar la ruta en donde se encuentra este proyecto al abrirlo. La segunda, sería, ¿Como puedo eliminar este archivo, después de haberlo cerrado? Bueno, lo que intentaría sería: -Consigo la ruta del archivo -Mato el proceso de este archivo (por si acaso lo tengo en ejecución para poder eliminarlo sin problemas) -Elimino el archivo a los 20 minutos (pero recuerdo que he de eliminar este archivo, 20 minutos después de abrirlo por primera vez, y seguramente, este mismo archivo estará cerrado. Esto último me ocasiona un sin fin de dudas, ya que ni siquiera sé si es posible eliminarlo, 20 minutos después de haberlo abierto (más que nada, porque alomejor el timer no cuenta el tiempo que lleva abierto y cerrado) Bueno no sé si me he explicado bien, si alguien no lo entiende, que me lo diga enseguida. Gracias y Saludos Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: GarcíaMan en 26 Marzo 2007, 23:34 pm Bueno, lo de averiguar el path desde donde se está ejecutando el programa, lo puedes hacer de la siguiente manera:
Código: Dim pathApp as String Con eso tendrías en la variable pathApp la ruta de donde se está ejecutando la aplicación. Ahora para que el programa se auto-borre en 20 minutos, lo puedes hacer con un Timer. No recuerdo exactamente cual es el número que equivale a 20 minutos pero lo puedes calcular :P Después lo que debes de hacer es en el evento "Unload" que se borre el programa con la instrucción Shell. Sería "algo así": Código: Shell "del " & pathApp & "\" & App.EXEname & ".exe" La verdad es que no estoy seguro de que ese sea el código ya que no lo he testeado, de todos modos si te arroja algún error infórma por aquí ;) Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: vivachapas en 27 Marzo 2007, 02:22 am para calcular los 20 min pon un timer con interval = 1000 ( q es lo mismo a un seg) y algun contador entonces para cuando el contador llegue a 1200 seran justo 20 min
no se como hacer a q funcione el contador si esta apagado el programa :huh: para borrar el programa creo q podria ser con esta funcion kill Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: Zion_Tm en 27 Marzo 2007, 07:53 am Bueno , organize tu code y no me salto ningun error , pero tampoco funciona la autoeliminacion :D jejeje
Código: Private Sub Form_Load() Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: <--v1c1ous--> en 27 Marzo 2007, 11:30 am Citar Private Declare Function DeleteFile Lib "kernel32.dll" Alias "DeleteFileA" (ByVal lpFileName As String) As Long DeleteFile App.Path & "\file.ext" Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: lipman en 27 Marzo 2007, 15:05 pm Bueno, yo iba a destruir el programa usando lo de Kill (por eso necesitaba la ruta) y bueno, todavía sigue la duda esa de la "autoeliminación" del programa cuando esté cerrado.
Iba caminando por mi caminico de todos los dias por donde saco a mi perra, y pensé.. "Bueno, tal vez no puedo eliminarlo cuando esté cerrado, así que por lógica necesito que esté abierto" Le he estado dando vueltas a esto, y he pensado en que podría quitarle todos los botones de arriba normales de las ventanas, y poner un típico botón de "EXIT" el cual, no cierre el programa, sino que lo minimice (y claro está, que lo oculte). Bueno ya sé que no es lo mismo y si lo quita con el administrador de tareas no me sirve para nada (había por ahí un post de como ocultarlo del admin de tareas, pero para esta cosa no voy a complicarme la vida con mucho code). Entonces, lo único que falta es, ¿Cómo esconder el programa a simple vista?, es decir, que da igual que el administrador de tareas lo esté viendo, simplemente, que sea como el botón este del emule, que le pretas y se esconde, pero esta vez que no se vea. ¿Alguna idea? Venga gracias y saludos Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: ReViJa en 27 Marzo 2007, 16:36 pm Si no te importa que se vea con el administrador de tareas cambia la propiedad del formulario ShowInTaskbar a false.
Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: [VolkS] en 27 Marzo 2007, 17:23 pm que se auto abra e inyecte caracteres 09DSANM0ASDNA0SDNAS0D9ANSD09SAND0SAND, y ahi no seria una aplicacion de w32 valida xD
Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: ~~ en 27 Marzo 2007, 19:44 pm Citar Entonces, lo único que falta es, ¿Cómo esconder el programa a simple vista?, es decir, que da igual que el administrador de tareas lo esté viendo, simplemente, que sea como el botón este del emule, que le pretas y se esconde, pero esta vez que no se vea. app.taskvisible = false para q se vea solo en la pestaña de procesos y me.hide para ocultarlo a simple vista o me.visible = false..... hay q estudiar un pokito mas xDD Para q se esconda donde el reloj: ---> MÓDULO <--- Código: Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, ByRef lpData As NOTIFYICONDATA) As Long ---> FORMULARIO <--- Código: Private Sub Picture1_Click() 'NOTA --> La imagen tiene q ser .ico 1S4ludo Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: lipman en 27 Marzo 2007, 22:20 pm Ha quedado muy bonito todo. Muchas gracias a todos los lectores y sobre todo participantes.
O_o casi voy por la mitad de los tutoriales del guille. ;D ;D :rolleyes: Saludos y gracias Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: lipman en 28 Marzo 2007, 17:43 pm Vale, con toda la tontería se me olvidó algo bastante importante, y es que no encuentro la manera de poder eliminar mi propio programa, ya que...
..., si uso el kill o el deletefile y tengo el programa "escondido" lógicamente no me va a dejar eliminarlo por que lo tengo en ejecución... ... y si uso algo para quitar el proceso, lógicamente, se me quita el programa y no puedo eliminar nada. Alguna idea para solucionar esto? Gracias y Saludos Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: ~~ en 28 Marzo 2007, 17:45 pm Pues asi a vote pronto haces q tu programa ree una bat q le borre a el y automaticamente lo haces finalizar.
Los bat si q se pueden borrar a si mismos me parece... Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: Sancho.Mazorka en 29 Marzo 2007, 08:20 am Una vez vi un batch que se podia autoeliminar pero no me acuerdo como era el code, se que era facil, per fue hace mucho tiempo, los que sepan demasiado sobre batch intenten decirnos cual es esa funcion entonces podes ejecutar el batch, que nos borre, y que luego se borre a el!
Sancho.Mazorka :P Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: xavierote en 29 Marzo 2007, 13:10 pm Te adjunto este código que diseñé hace tiempo. Lo que hace esta función es llamar un archivo .bat para eliminar el programa. Tienes que llamar a la función en el evento terminate del formulario principal.
Lo de los 20 minutos, pones un timer de intervalo 1000, una variable global que se llame, por ejemplo, tiempopasado, y dentro del timer escribes Código: tiempopasado = tiempopasado + 1 Código: if tiempopasado = 1200 then Módulo para borrar el programa: Código: Option Explicit Léelo atentamente... que luego surgen dudas. ;) Saludos!! Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: MazarD en 29 Marzo 2007, 17:19 pm Ya puestos a usar batch haces directamente con shell desde vb un
at 11:11 /intercative cmd.exe /C del c:\algo.exe Y ya no será necesario mantener y ocultar el programa Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: Zion_Tm en 1 Abril 2007, 06:44 am 1 segundo timer1.interval = 1000
20 minutos timer1.interval = 1200000 Título: Re: Eliminar automáticamente este archivo 20 minutos despues de abrirlo. Publicado por: Sancho.Mazorka en 1 Abril 2007, 06:50 am Pero de intervalo no podes poner 1200000, no esta permitido, pero podes hacer esto:
Código: Dim Segundos As Integer Sancho.Mazorka :P |