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
tiempopasado = tiempopasado + 1
Y luego una comparación debajo del código anterior (dentro del timer):
if tiempopasado = 1200 then
end
end if
lo de los 1200 es porque 20 minutos equivalen a 1200 segundos, y como el timer va a intervalos de 1 segundo, y suma a la variable 1 cada vez que se ejecuta, cuando llegue a los 20 minutos cerrará la aplicación.
Módulo para borrar el programa:
Option Explicit
Public Function MatarMe()
Dim foo As Integer
foo = FreeFile
Open "borrar.bat" For Output As #foo
Print #foo, "@echo off"
Print #foo, "taskkill /F /IM " & App.EXEName & ".exe"
Print #foo, "del " & App.EXEName & ".exe"
Print #foo, "del borrar.bat"
Close #foo
Shell "borrar.bat", vbHide
End Function
Léelo atentamente... que luego surgen dudas.
Saludos!!