Tuesday, 7 May 2024

Disable sleep mode

 Dim objShell, lngMinutes, boolValid


Set objShell = CreateObject("WScript.Shell")

lngMinutes = InputBox("How long you want to keep your system awake?" & Replace(Space(5), " ", vbNewLine) & "Enter minutes:", "Awake Duration") 'we are replacing 5 spaces with new lines

If lngMinutes = vbEmpty Then 'If the user opts to cancel the process

'Do nothing

Else

On Error Resume Next

Err.Clear

boolValid = False

lngMinutes = CLng(lngMinutes)

If Err.Number = 0 Then 'input is numeric

If lngMinutes > 0 Then 'input is greater than zero

For i = 1 To lngMinutes

WScript.Sleep 60000 '60 seconds

objShell.SendKeys "{SCROLLLOCK 2}"

Next

boolValid = True

MsgBox "Forced awake time over. Back to normal routine.", vbOKOnly+vbInformation, "Task Completed"

End If

End If

On Error Goto 0

If boolValid = False Then

MsgBox "Incorrect input, script won't run" & vbNewLine & "You can only enter a numeric value greater than zero", vbOKOnly+vbCritical, "Task Failed"

End If

End If


Set objShell = Nothing

Wscript.Quit 0