in reply to Need Advice On Script to Automate Windows Standby

Thanks to the great advice, (exactly what I needed), provided by BrowserUk pointing me to a highly relevant section of the MSDN Library regarding SetSuspendState, a Windows power management function; I was able to develop the answer to my own question, to create a script that utilizes the Win32::API to put the Windows computer in a sleep/suspend state. Code below:
#!/usr/bin/perl -w use strict; use Win32::API; Win32::API->Import( 'PowrProf', 'BOOLEAN SetSuspendState( BOOL Hibernate, BOOL ForceCritical, BOOL DisableWakeEvent )', ); SetSuspendState(0,0,0);
Thanks Again! Your small bit of highly relevant wisdom has allowed me to come up with the answer to my own question. Precisely what I was looking for!

Additonal Notes: I have tested this out on Windows 2000 SP4, and it does precisely what I want it to: puts the system in a sleep/suspend state. If you want the system to hibernate, setting the first 0 to 1, (1,0,0), should do the trick (I have not yet tested the hibernate aspect).
As always, I welcome any constructive suggestions for improvement/enhancement of this code. :)

Replies are listed 'Best First'.
Re^2: Need Advice On Script to Automate Windows Standby
by Anonymous Monk on Nov 21, 2012 at 05:14 UTC
    Hi Friends, Above code is working perfectly for Standby / Sleep. However, it doesn't make to hibernate, even if we set first parameter to 1 (1,0,0). Could you please anyone provide the hibernation code for windows. Thanks....