2010-01-17 33 views
24

Quiero poner mi sistema para dormir o hibernar, dos opciones diferentes.C# poner la PC para dormir o hibernar

Como haría esto con las API, realmente no quiero usar Process, y eso no me permite elegir qué método quiero para esta acción.

+0

se puede encontrar toda la información que necesita en este [link] (http://www.geekpedia.com/tutorial177_Lock-Stand-By -Hibernate-and-Log-Off.html) para bloquear la PC, modo de espera, hibernación y cierre de sesión. – Alex

+0

Gracias, también necesitaba el código de bloqueo de PC. –

Respuesta

48
// Hibernate 
Application.SetSuspendState(PowerState.Hibernate, true, true); 
// Standby 
Application.SetSuspendState(PowerState.Suspend, true, true); 

O bien, si te gusta el sistema llama:

[DllImport("Powrprof.dll", CharSet=CharSet.Auto, ExactSpelling=true)] 
public static extern bool SetSuspendState(bool hiberate, bool forceCritical, bool disableWakeEvent); 

// Hibernate 
SetSuspendState(true, true, true); 
// Standby 
SetSuspendState(false, true, true); 
+0

Gracias, muy informativo y útil. –

+4

Entonces, ¿cómo hacer esto en Windows 8? –

+0

@ fre0n No se activa el evento PowerModeChanged cuando se invoca el sistema. – prabhakaran