Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Confirm
Close Dialog

Start Multiple Websites on Different Monitors

Description
This function starts all of Binary Fortress' web pages across different monitors with the default web browser.
Language
C#.net
Minimum Version
Created By
Thomas Malloch (BFS)
Contributors
-
Date Created
Sep 29, 2014
Date Last Modified
Jan 21, 2016

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/",
			"http://www.clipboardfusion.com/",
			"http://www.fileseek.ca/",
			"http://www.itunesfusion.com/",
			"http://www.logfusion.ca/",
			"http://www.wallpaperfusion.com/"
		};
		
		//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 caputre 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);
		}
	}
}