Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Skeletron en 15 Junio 2009, 10:55 am



Título: Mi Software no deja apagar Windows XP
Publicado por: Skeletron en 15 Junio 2009, 10:55 am
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?


Título: Re: Mi Software no deja apagar Windows XP
Publicado por: KJD en 16 Junio 2009, 15:43 pm
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.


Título: Re: Mi Software no deja apagar Windows XP
Publicado por: Skeletron en 17 Junio 2009, 17:35 pm
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:

Código:
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





Título: Re: Mi Software no deja apagar Windows XP
Publicado por: Jubjub en 17 Junio 2009, 19:27 pm
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 ;)


Título: Re: Mi Software no deja apagar Windows XP
Publicado por: raul338 en 17 Junio 2009, 23:01 pm
Hola!

puedes poner un manejador al evento cuando cierra sesion y finalizar el programa. Ej
Código
  1. Imports Microsoft.Win32
  2.  
  3. '.......
  4. AddHandler SystemEvents. SessionEnding, new EventHandler(AddressOf Cerrar)
  5. '.......
  6. Sub Cerrar(ByVal sender As Object, ByVal e As EventArgs)
  7.    ' Liberar recursos
  8.    End
  9. End Sub
  10.  

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


Título: Re: Mi Software no deja apagar Windows XP
Publicado por: Skeletron en 18 Junio 2009, 00:22 am
Eso no es VB.Net no?
Ahora no puedo pobar el codigo, pero cuando lo puebe aviso si funcionó...

Gracias a todos por ahora!


Título: Re: Mi Software no deja apagar Windows XP
Publicado por: raul338 en 18 Junio 2009, 20:15 pm
La pagina fuente no, es C#, que es facilmente convertible a VB.NET

la linea
Código
  1. 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  ;)