web-dev-qa-db-ja.com

C#はPCをスリープまたは休止状態にします

システムをスリープまたは休止状態にする、2つの異なるオプションが必要です。

APIを使用してこれをどのように行うのでしょうか。実際にはProcessを使用したくないので、このアクションに必要なメソッドを選択できません。

24
Sandeep Bansal
// 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);
50
fre0n