Skip to content

Instantly share code, notes, and snippets.

@channeladam
Forked from PCHSwS/turn-off-screen.ps1
Created August 1, 2021 05:08
Show Gist options
  • Save channeladam/0a3fee3f4dddbef58a096fe204a3c9fc to your computer and use it in GitHub Desktop.
Save channeladam/0a3fee3f4dddbef58a096fe204a3c9fc to your computer and use it in GitHub Desktop.
PowerShell: Turn off computer screen
# Source: http://www.powershellmagazine.com/2013/07/18/pstip-how-to-switch-off-display-with-powershell/
# Turn display off by calling WindowsAPI.
# PostMessage(HWND_BROADCAST,WM_SYSCOMMAND, SC_MONITORPOWER, POWER_OFF)
# HWND_BROADCAST 0xffff
# WM_SYSCOMMAND 0x0112
# SC_MONITORPOWER 0xf170
# POWER_OFF 0x0002
Add-Type -TypeDefinition '
using System;
using System.Runtime.InteropServices;
namespace Utilities {
public static class Display
{
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr PostMessage(
IntPtr hWnd,
UInt32 Msg,
IntPtr wParam,
IntPtr lParam
);
public static void PowerOff ()
{
PostMessage(
(IntPtr)0xffff, // HWND_BROADCAST
0x0112, // WM_SYSCOMMAND
(IntPtr)0xf170, // SC_MONITORPOWER
(IntPtr)0x0002 // POWER_OFF
);
}
}
}
'
[Utilities.Display]::PowerOff()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment