Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Move Window to Monitor 2 or 1, Depending on # of Monitors Connected

Description
This script will check how many monitors are connected to the system. If there are 3 monitors, it will move the window to monitor 2. If there are only 2 monitors, it will move the window to monitor 1.
Language
C#.net
Minimum Version
Created By
Thomas Malloch (BFS)
Contributors
-
Date Created
Mar 5, 2015
Date Last Modified
Mar 5, 2015

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
//   - Window Location target when run by a Window Location 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)
	{
		bool allMonitors = BFS.Monitor.GetMonitorBoundsByID(1) != Rectangle.Empty && BFS.Monitor.GetMonitorBoundsByID(2) != Rectangle.Empty && BFS.Monitor.GetMonitorBoundsByID(3) != Rectangle.Empty;
		bool twoMonitors = BFS.Monitor.GetMonitorBoundsByID(1) != Rectangle.Empty && BFS.Monitor.GetMonitorBoundsByID(2) != Rectangle.Empty;
		if(allMonitors)
			BFS.Window.MoveToMonitor(2, windowHandle);
		else if(twoMonitors)
			BFS.Window.MoveToMonitor(1, windowHandle);
	}
}