一尘不染

C#使PC进入睡眠或休眠状态

hibernate

我想让系统进入睡眠或hibernate状态,这是两种不同的选择。

我将如何使用API​​进行此操作,我真的不想使用Process,并且这不允许我选择执行此操作所需的方法。


阅读 715

收藏
2020-06-20

共1个答案

一尘不染

// 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);
2020-06-20