Suspends the current machine.
If hibernate = true, the system hibernates.
If hibernate = false, the system enters a standby state.
[DllImport ("Powrprof.dll", SetLastError = true)]
static extern bool SetSuspendState (bool hibernate, bool forceCritical, bool disableWakeEvent);
Declare Function SetSuspendState Lib "powrprof.dll" (ByVal Hibernate As Boolean, ByVal ForceCritical As Boolean, ByVal DisableWakeEvent As Boolean) As Boolean
None.
None.
Please add some!
using System.Runtime.InteropServices;
namespace Sleeper
{
class Program
{
/// <summary>
/// Suspends the system by shutting power down. Depending on the Hibernate parameter, the system either enters a suspend (sleep) state or hibernation (S4).
/// </summary>
/// <param name="hibernate">If this parameter is TRUE, the system hibernates. If the parameter is FALSE, the system is suspended.</param>
/// <param name="forceCritical">Windows Server 2003, Windows XP, and Windows 2000: If this parameter is TRUE,
/// the system suspends operation immediately; if it is FALSE, the system broadcasts a PBT_APMQUERYSUSPEND event to each
/// application to request permission to suspend operation.</param>
/// <param name="disableWakeEvent">If this parameter is TRUE, the system disables all wake events. If the parameter is FALSE, any system wake events remain enabled.</param>
/// <returns>If the function succeeds, the return value is true.</returns>
/// <remarks>See http://msdn.microsoft.com/en-us/library/aa373201(VS.85).aspx</remarks>
[DllImport("Powrprof.dll", SetLastError = true)]
static extern bool SetSuspendState(bool hibernate, bool forceCritical, bool disableWakeEvent);
static void Main(string[] args)
{
// Sleeps the machine
SetSuspendState(false, false, false);
}
}
}
VB.Net
Public Class Form1
Inherits System.Windows.Forms.Form
'SetSuspendState will put the PC in to a standby mode
Private Declare Function SetSuspendState Lib "powrprof.dll" (ByVal Hibernate As Boolean, ByVal ForceCritical As Boolean, _
ByVal DisableWakeEvent As Boolean) As Boolean
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'SetSuspendState Example
'*************************************************************************************************
'SetSuspendState(False, False, False)
'*************************************************************************************************
End
End Sub
.Net 2.0 provides this managed method with identical arguments:
VB.net example 2.0 , .Net 3.5
Application.SetSuspendState(PowerState.Hibernate, False, False)
'Or
Application.SetSuspendState(PowerState.Suspend, False, False)
Public Shared Function SetSuspendState(ByVal state As System.Windows.Forms.PowerState, ByVal force As Boolean, ByVal disableWakeEvent As Boolean) As Boolean
Member of System.Windows.Forms.Application
Summary:
Suspends or hibernates the system, or requests that the system be suspended or hibernated.
Parameters:
state: A System.Windows.Forms.PowerState indicating the power activity mode to which to transition.
force: true to force the suspended mode immediately; false to cause Windows to send a suspend request to every application.
disableWakeEvent: true to disable restoring the system's power status to active on a wake event, false to enable restoring the system's power status to active on a wake event.
Return Values:
true if the system is being suspended, otherwise, false.