"Extend my Windows desktop onto this monitor" programmatically

Zi Makki picture Zi Makki · Nov 8, 2008 · Viewed 35.2k times · Source

I would like to be able to set "Extend my Windows desktop onto this monitor" via code. A PowerShell script would be ideal. WMI seems the way forward but I have zero knowledge in WMI.

Answer

Communicative Algebra picture Communicative Algebra · Aug 2, 2014

Windows 7, 8 and 10 are supposed to come with a small program that does exactly this: displayswitch.exe. This page lists the following parameters:

displayswitch.exe /internal Disconnect projector (same as "Show only on 1" from the Display Properties dialog)
displayswitch.exe /clone        Duplicate screen
displayswitch.exe /extend    Extend screen
displayswitch.exe /external Projector only (disconnect local) (same as "Show only on 2" from the Display Properties dialog)

For a one-click solution to the problem posed, simply create a *.bat-file containing the single line

call displayswitch.exe /extend

and save it to your desktop.

[I tested this on Windows 8.1, and it has been confirmed to work on Windows 10.]