C# Lock, Sleep, and Hibernate Windows
This could be a very uncommon occurrence but you might find a need in C# to set the computers sleep or hibernate state. You might even need to lock the entire pc. .NET has two of the needs built in, the third you will need to do some pinvoking. // set the computer to hibernate bool retVal = Application.SetSuspendState( PowerState.Hibernate, false, false ); if( retVal == false ) { MessageBox.Show( "Unable to hibernate the system." ); } // set the computer to suspended bool retVal = Application.SetSuspendState( PowerState.Suspend, false, false ); if( retVal == false ) { MessageBox.Show( "Unable to suspend the system." ); } // lock the workstation // we need to import from user32.dll, the LockWorkStation function [DllImport("user32.dll", SetLastError = true)] static extern bool LockWorkStation(); bool result = LockWorkStation(); if (result == false) { // TODO: an error occured } The Application.SetSuspendState is the big ...