Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Start Multiple Websites on Different Monitors (Full Screen)

Description
This function starts the list of websites (see line 15) across different monitors with the default web browser and makes them full screen.
Language
C#.net
Minimum Version
Created By
Keith Lammers (BFS)
Contributors
Thomas Malloch (BFS)
Date Created
Mar 5, 2019
Date Last Modified
Mar 5, 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
//   - 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)
	{
		//make a list of websites you would like to have opened
		string[] websites =
		{
			"http://www.binaryfortress.com/",
			"http://www.displayfusion.com/",
			"http://www.checkcentral.cc/"
		};
		
		//get the monitor ids
		uint[] monitorIds = BFS.Monitor.GetMonitorIDs();
		
		//if we were unable to get the monitor Ids, exit
		if (monitorIds.Length == 0)
			return;
		
		//loop until the end of monitors, or websites
		for (int i = 0; i < websites.Length; i++)
		{
			//get the website url
			string website = websites[i];
			
			//get the monitor id and ensure we dont get an array out of bounds exception
			uint monitor = monitorIds[i % monitorIds.Length];
			
			//open the website in a new window and capture its handle
			IntPtr window = BFS.Web.OpenUrlNewWindow(website);
			
			//if we failed to get the handle, continue to next loop iteration
			if(window == IntPtr.Zero)
				continue;
			
			//move the window to the specified monitor
			BFS.Window.MoveToMonitorMaximized(monitor, window);
			BFS.Input.SendKeys("{VK_122}");
		}
	}
}