Я хочу поместить свою систему, чтобы или спать или быть в спящем режиме, два различных вариантов.
Как был бы я делать это с API, я действительно не хочу использовать Процесс, и это не позволяет мне выбирать, какой метод я хочу для этого действия.
// 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);