Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Confirm
Close Dialog

Notify if Window is on a Different Monitor

Description
This script will show a tray notification if the window is on a different monitor than the mouse cursor.
Language
C#.net
Minimum Version
Created By
Keith Lammers (BFS)
Contributors
-
Date Created
Jun 14, 2019
Date Last Modified
Jun 14, 2019

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)
	{
        // Get the monitor ID of the mouse cursor, and the window
        uint monitorWindow = BFS.Monitor.GetMonitorIDByWindow(windowHandle);
        uint monitorMouse = BFS.Monitor.GetMonitorIDByXY(BFS.Input.GetMousePositionX(), BFS.Input.GetMousePositionY());
	
		if (monitorWindow != monitorMouse)
		{
            BFS.Dialog.ShowTrayMessage(BFS.Window.GetText(windowHandle) + " is on monitor #" + monitorWindow.ToString());
		}
	}
}