Mi Software no deja apagar Windows XP

Iniciado por Skeletron, 15 Junio 2009, 10:55 AM

0 Miembros y 1 Visitante están viendo este tema.

Skeletron

Hola gente..

Tengo un gran problema...

Mi software no deja que se apague windows XP si está ejecutado..

El prorgama está en la barra de iconos al lado de la hora.. puede ejcutarse con doble click...
O sea.. el programa ahí no esta haciendo nada..

Que puede ser que haga ese problema?

KJD

si no me equivoco, podes ponerle un evento de win32 que salta cuando reinicias o apagas la pc, ahi podes poner que la aplicacion se cierre.
"Solo hay 10 tipos personas que saben leer binario, los que si y los que no"

"Keyboard not Found, press F1 To Continue" WTF???

Skeletron

AAhhhh..
Yo tengo puesto que cuando el usuario cierra el programa, lo que ahce es minimizarse a los iconos que hay al lado de la hora...

Puede ser que eso impida que se cierre el programa y por lo tanto que se apague XP???


Aqui el codigo para que me ayuden:


Dim CIERRATE As Boolean

   Private Sub Cerrar_Visible(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
       If CIERRATE = False Then
           e.Cancel = True
       End If
       Me.Visible = False
   End Sub

   Private Sub Abrir_DobleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick
       Me.Visible = True
   End Sub

   Private Sub Cerrar_Menu_Desplegable(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CerrarToolStripMenuItem.Click
       CIERRATE = True
       End
   End Sub




Jubjub

Se que es eso lo que evita que se apague... pero como solucionarlo parece mas complejo, investiga si puedes recoger la señal de apagado y matar el programa en ese momento ;)
Jugando con Fósforoshacking con un tono diferente


.
porno

raul338

Hola!

puedes poner un manejador al evento cuando cierra sesion y finalizar el programa. Ej
Código (vbnet) [Seleccionar]

Imports Microsoft.Win32

'.......
AddHandler SystemEvents. SessionEnding, new EventHandler(AddressOf Cerrar)
'.......
Sub Cerrar(ByVal sender As Object, ByVal e As EventArgs)
    ' Liberar recursos
    End
End Sub


Fuente: http://www.indalcasa.com/programacion/dotnet-csharp/controlar-eventos-de-windows-en-csharp/

Skeletron

Eso no es VB.Net no?
Ahora no puedo pobar el codigo, pero cuando lo puebe aviso si funcionó...

Gracias a todos por ahora!

raul338

La pagina fuente no, es C#, que es facilmente convertible a VB.NET

la linea
Código (vbnet) [Seleccionar]
AddHandler SystemEvents. SessionEnding, new EventHandler(AddressOf Cerrar)
La puedes poner dentro la funcion Main o donde quieras ...es para registrar y ver el evento cuando se apaga la PC. En este caso al nombre del procedimiento que manejara el evento le puse Cerrar  :)

Espero que te sirva  ;)