2010-01-17 5 views
24

Je veux mettre mon système en veille ou en hibernation, deux options différentes.C# met le pc en veille ou en veille prolongée

Comment le ferais-je avec les API, je ne veux pas vraiment utiliser Process, et cela ne me permet pas de choisir la méthode que je veux pour cette action.

+0

Vous pouvez trouver toutes les informations dont vous avez besoin dans ce [lien] (http://www.geekpedia.com/tutorial177_Lock-Stand-By -Hibernate-and-Log-Off.html) pour verrouiller le PC, rester en mode veille, hiberner et se déconnecter. – Alex

+0

Merci, j'avais aussi besoin du code de verrouillage du PC. –

Répondre

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

Ou, si vous aimez les appels système:

[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

Merci, très instructif et utile. –

+4

Alors, comment faire cela dans Windows 8? –

+0

@ fre0n Il ne déclenche pas l'événement PowerModeChanged lorsque le système est appelé. – prabhakaran

Questions connexes