How to programmatically bring a laptop into Sleep mode
-
29-08-2019 - |
Question
What API or tools can I use to query the capabilities of the system and choose the most appropriate on for putting the PC to Sleep, Hibernate or shutdown mode?
Thanks for any pointers.
Solution
Look at SystemInformation.PowerStatus, then you can call Application.SetSuspendState to put the PC to Sleep or Hibernate like:
Application.SetSuspendState(PowerState.Hibernate, true, true);
OTHER TIPS
You could use the API:
Declare Function SetSuspendState Lib "PowrProf" (ByVal Hibernate As Integer, ByVal ForceCritical As Integer, ByVal DisableWakeEvent As Integer) As Integer
SetSuspendState(0, 0, 0) 'Sleep without forcing and ?no? wake events
SetSuspendState(1, 0, 0) 'Hibernate without forcing and ?no? wake events
Set Hibernate to 1(True) to Hibernate or 0(False) to Sleep.
See the API here.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow