using System;
using System.Drawing;
using System.Runtime.InteropServices;
// 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)
{
//run the script until the user exits
while(true)
{
//get the currently focused window
IntPtr focusedWindow = BFS.Window.GetFocusedWindow();
if(focusedWindow != IntPtr.Zero || BFS.Application.GetMainFileByWindow(focusedWindow).Contains("explorer.exe") || BFS.Application.GetMainFileByWindow(focusedWindow).Contains("DisplayFusion.exe"))
BFS.Window.SetWindowHighlight(focusedWindow, Color.Red);
//run through each visible window and turn off the highlighting
foreach(IntPtr window in BFS.Window.GetVisibleWindowHandles())
{
//if we failed to get the window handle, continue
if(window == IntPtr.Zero)
continue;
//don't remove the highlighting if this is the focused window
if(window == focusedWindow)
continue;
BFS.Window.RemoveWindowHighlight(window);
}
//make the program sleep for one second
BFS.General.Sleep(1000);
}
}
}