Jul 17 2022 04:10 PM - edited Jul 24 2022 07:17 AM
The below PWSH code works wonderfully to keep a physical display turned off if one is physically in front of a Windows 10 device and logged in (displays turning on spuriously is a totally different problem but hey, one thing at a time).
However, what I'd like to do is run a script so that when one is remoted into a Windows 10 device, the physical display remains off (although the remote desktop display is still visible in the remote desktop client), regardless of initially making the remote desktop connection, maintaining the connection, or disconnecting from the remote session for any reason.
Also, please no non-answer responses (e.g. "Why don't you just do XYZ instead?", "I haven't tested it myself but, 'BLAH BLAH BLAH'.", "Why do you want to do that?", etc.).
Thanks!
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 SendMessage(
IntPtr hWnd,
UInt32 Msg,
IntPtr wParam,
IntPtr lParam
);
public static void PowerOff ()
{
SendMessage(
(IntPtr)0xffff, // HWND_BROADCAST
0x0112, // WM_SYSCOMMAND
(IntPtr)0xf170, // SC_MONITORPOWER
(IntPtr)0x0002 // POWER_OFF
);
}
}
}
'
while($true){
[Utilities.Display]::PowerOff()
$null=Start-Sleep -m 4500
}