Resumen Suspender Pc

Mensaje enviado por "Alberto M. Vernieri \(ar\)" <avernieri@interprov.com> el 17/04/2002

Hola!

Una respuesta mas...

Encontré una API algo más sencilla, que te puede servir...

Aquí va la declaración:

Public Declare Function SetSystemPowerState _
Lib "kernel32" Alias "SetSystemPowerState" _
(ByVal fSuspend As Long, ByVal fForce As Long) As Long

Los parámetros se definen como Long, pero en realidad son booleanos quese representan
igual a 0 => FALSE
distinto de 0 => TRUE

El primer parámetro funciona en Windows 2000 solamente. En W9x es ignorado.

TRUE = Suspend
FALSE = Hibernate

El 2do parametro, si es TRUE fuerza la suspension inmediata, con FALSE interroga a las aplicaciones en uso, y si alguna responde negativamente ignora la suspensión...

En Windows NT (Que no dispone de rutinas de manejo avanzado de poder) el llamado completo es ignorado.

Funciona en 95 / 98 y 2000 (Mi MSDN es anterior al XP, no tengo informacón pero supongo que debe funcionar igual que el 2000)

El valor de retorno 0 indica que la Suspensión NO fue exitosa... De ser <> 0, la aplicación se suspendió con el sistema y regresó luego de la suspensión...

En tu caso, se llamaría más o menos así...

If SetSystemPowerState (-1, -1) > 0 Then
    Msgbox "Aqui estamos de nuevo luego de suspender y reanimar"
Else
   MsgBox "La suspensión no fue exitosa..."
End If

Espero que te sirva
Saludos
Alberto



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com