Hola.
Es el mismo dilema.
Me gusta que cancela el proceso de apagado, pero me quedo con pocos proceso.
quedo con 37 procesos.
veo que me deja el VNC.
Post by SoftJaénPost by Paul P. GarciaSolo queria saber si existe alguna forma de detectar si el usuario
presiono el boton de apagado o se fue a inicio>apagar equipo>apagar
para poder apagar el equipo.
No lo entiendo yo así, porque en tu primer mensaje escribistes que
NECESITABAS DETECTAR LA DIFERENCIA entre las dos maneras de apagar un
equipo, de ahí que te dijera que era imposible detectar si el usuario, o
cualquier otra circunstancia ajena a él, cortaba el suministro eléctrico al
PC, aunque también es cierto que lo expresé en un argot un poco humorístico,
por lo que si te has sentido ofendido por mi respuesta, te pido que aceptes
mis disculpas.
Post by Paul P. GarciaSi presiono el boton de apagado quiero que se cancele el proceso de
apagado, caso contrario si el usuario esta apagando desde Inicio>Apagar
equipo>Apagar que continue con el proceso de apagado.
Si estamos hablando de una aplicación que se va a ejecutar en un PC
normalito y corriente, y que para su funcionamiento requiere estar conectado
a una corriente eléctrica, vuelvo a insistirte que ignoro si existe alguna
manera de detectar si el PC ha dejado de tener suministro eléctrico, porque
el mismo deja de funcionar inmediatamente después de producirse el corte. Si
el PC tuviera conectado a un Sistema de Alimentación Ininterrumpido, y
existe un "apagón eléctrico", el PC seguiría funcionando hasta que se agote
la batería del SAI o UPS. Pero estaríamos en las mismas, tampoco sabría
decirte si existe un evento que nos indicara cuándo las baterías de la UPS
han dejado de suministrar energía al PC.
Post by Paul P. GarciaYa me indicaste como detectar si el equipo esta en proceso de apagado.
Ahora Como podria cancelar el proceso de apagado?
Si el usuario ha decidido apagar el PC mediante el menú Inicio, entiendo
que la cancelación del apagado se podrá realizar a nivel del propio
sistema operativo, si éste te permite la cancelación, como así lo hace
Windows Vista cuando hay una aplicación que está impidiendo el apagado del
PC trás la orden recibida.
Te comenté que desde el evento «FormClosing» del formulario de inicio de
la aplicación, puedes detectar el motivo por el cual se está cerrando el
formulario consultando la propiedad «CloseReason» del parámetro « e », que
de ser el valor «WindowsShutDown», significará que el sistema operativo
está cerrando todas las aplicaciones antes de cerrarse, es decir, que el
usuario ha decidido apagar el PC.
Pero si en dicho evento estableces el valor «True» a la propiedad «Cancel»
del parámetro « e », recibirás un mensaje del propio sistema operativo
indicando que una aplicación está impidiendo el cierre del sistema,
dándole la opción al usuario de cancelar el cierre del sistema o la de
cerrarlo "por narices".
Private Sub Form1_FormClosing( ... )
If e.CloseReason = CloseReason.WindowsShutDown Then
e.Cancel = True
End If
End Sub
Post by Paul P. GarciaSi el equipo se encuentra encendido y se presiono el boton de apagado
necesito que se cancele el proceso de apagado, porque le voy a dar la
tarea de iniciar o ejecutar una aplicacion.
Lo veo complicado de llevarlo a cabo sin la propia intervención del
usuario, de tal manera que éste pueda cancelar el cierre del sistema
operativo cuando haya una aplicación que esté impidiendo el apagado normal
del PC, es decir, aquella aplicación que en su evento «FormClosing» haya
especificado el valor «True» a la propiedad «Cancel» del parámetro « e ».
--
Enrique Martínez
[MS MVP - VB]
Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.- Ocultar texto de la cita -