Página 1 de 1

(VB6) Terminar programa al apagar o cerrar sesion

Publicado: 21 Jul 2010, 11:40
por woons
Estoy haciendo un programilla en vb6 que se ejecuta de forma silenciosa, no tiene form. Todo el programa lo he hecho en un module iniciando la ejecucion en el Sub main(). Este programa se ejecuta al iniciar el ordenador y permanece abierto hasta su apagado. El problema es que cuando el usuario le da a apagar, aparece una ventana "Finalizando programa... Espere". Hasta que no se le da "Finalizar ahora", no se termina y no deja apagarse al ordenador.

He estado googleando informacion, y en muchos foros se dice de utilizar QueryUnload para ello. El problema es que yo no uso ningun form. He intentado poner un form invisible solo para ello pero tampoco consigo hacerlo funcionar.

Supongamos que este es el programa completo en un modulo.

Código: Seleccionar todo

Private Declare Sub Sleep Lib "Kernel32.dll" (ByVal dwMilliseconds As Long)
sub main()
dim i as integer
i=0
while 1=1
i=i+1
if i=10 then i=0
sleep(1000)
loop
end sub

Este programa no hace nada obviamente, pero es suficiente parecido, si consigo que este se cierre al apagar el ordenador, tambien lo conseguire con el mio. Que funcion le puedo agregar para que cuando detecte un apagado o un cierre de sesion simplemente se termine.

Re: (VB6) Terminar programa al apagar o cerrar sesion

Publicado: 21 Jul 2010, 12:28
por Xpro
Sleep(1000)
Doevents

Y prueba en otros pc's aparte del tuyo, eso me pasaba amí con otros programas.. pero era
porque la pc estaba " petada " , prueba en otras pc's a ver..

Saludos..

Re: (VB6) Terminar programa al apagar o cerrar sesion

Publicado: 21 Jul 2010, 13:10
por woons
Pure Ice escribió:Sleep(1000)
Doevents
...

Llevo desde ayer intetando buscar la solucion en internet, poniendo y quitando forms, poniendo y quitando funciones y APIs raras, y resulta que con una linea de codigo consigo justo lo que quiero.
Gracias.