Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Confirm
Close Dialog

Move All Windows to Monitor 2 and Keep Minimized State

Description
This script will move all visible and minimized windows to monitor 2, and will re-minimize the windows that were minimized before the move.
Language
C#.net
Minimum Version
Created By
Keith Lammers (BFS)
Contributors
-
Date Created
Aug 19, 2020
Date Last Modified
Aug 19, 2020

Scripted Function (Macro) Code

using System;
using System.Drawing;

// The 'windowHandle' parameter will contain the window handle for the:
//   - Active window when run by hotkey
//   - Trigger target when run by a Trigger rule
//   - TitleBar Button owner when run by a TitleBar Button
//   - Jump List owner when run from a Taskbar Jump List
//   - Currently focused window if none of these match
public static class DisplayFusionFunction
{
	public static void Run(IntPtr windowHandle)
	{
        // Set the target monitor ID here
        uint targetMonitor = 2;
	
        // Loop through visible and minimized windows
		foreach (IntPtr window in BFS.Window.GetVisibleAndMinimizedWindowHandles())
		{
            // If the window is minimized, move it to monitor 2 and minimize it
            if (BFS.Window.IsMinimized(window))
            {
                BFS.Window.MoveToMonitor(2, window);
                BFS.Window.Minimize(window);
            }
            // Otherwise, just move it to monitor 2
            else
            {
                BFS.Window.MoveToMonitor(2, window);
            }
		}
	}
}