using System; using System.Drawing; using System.Collections.Generic; // Description: This function starts all of Binary Fortress' web pages in different positions with the default web browser. // Based on the Start Multiple Websites on Different Monitors function Created By: Thomas Malloch (BFS) class Rectangles : List<Rectangle> { // helper for List<Rectangle> initialization public void Add(int x, int y, int w, int h) { Add(new Rectangle(x, y, w, h)); } } // 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 an array 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/" }; // make an array of window positions for the websites Rectangle[] positions = new Rectangles { { 50, 50, 500, 500 }, { 550, 50, 500, 500 }, { 50, 550, 500, 500 }, { 550, 550, 500, 500 }, { 550, 1050, 500, 500 }, { 50, 1050, 500, 500 }, { 1050, 550, 500, 500 }, { 1050, 50, 500, 500 } }.ToArray(); for (int w = 0; w < websites.Length; ++w) { var window = BFS.Web.OpenUrlNewWindow(websites[w]); //if we failed to get the handle, continue to next loop iteration if(window == IntPtr.Zero) continue; //move the window to the specified location var p = positions[w]; BFS.Window.SetSizeAndLocation(window, p.X, p.Y, p.Width, p.Height); // shouldn't this take a Rectangle??? } } }