C # перевести компьютер в спящий или спящий режим - PullRequest
24 голосов
/ 17 января 2010

Я хочу перевести мою систему в спящий или спящий режим, два разных варианта.

Как бы я это сделал с помощью API, я не очень хочу использовать Process, и это не позволяетвыбрать метод, который я хочу для этого действия.

1 Ответ

49 голосов
/ 17 января 2010
// Hibernate
Application.SetSuspendState(PowerState.Hibernate, true, true);
// Standby
Application.SetSuspendState(PowerState.Suspend, true, true);

Или, если вам нравятся системные вызовы:

[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);
...