Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Move window to the left side, left middle, right middle, and right side (25% width, 33% height)

Description
This script will move the window to the left side, left middle, right middle, and right side (25% width, 33% height).
Language
C#.net
Minimum Version
Created By
MoonzooKim
Contributors
-
Date Created
Feb 9, 2017
Date Last Modified
Feb 9, 2017

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)

           {          
                     //check to see if there was an error, if there was, exit function
                     if (windowHandle == IntPtr.Zero)        return;

                     //get the position of the window in the monitor, and the current monitor
                     Rectangle windowRect = BFS.Window.GetBounds(windowHandle);
                     Rectangle monitorRect = BFS.Monitor.GetMonitorWorkAreaByWindow(windowHandle);
    
                    int iFinalWinW = monitorRect.Width / 4;
                    int iFinalWinH = monitorRect.Height/3;

                    int iFinalWinX = ((windowRect.X < iFinalWinW ? monitorRect.X : ((windowRect.X-iFinalWinW)/ iFinalWinW+1) * iFinalWinW));
                    int iFinalWinY = ((windowRect.Y < iFinalWinH ? monitorRect.Y : ((windowRect.Y-iFinalWinH)/ iFinalWinH+1) * iFinalWinH));
                     

                    if (( iFinalWinX + 2*iFinalWinW) > monitorRect.Width ) {
                        iFinalWinX = monitorRect.X;
                        iFinalWinY += iFinalWinH;
                    }  else iFinalWinX += iFinalWinW;
                        
                    iFinalWinY =  iFinalWinY +iFinalWinH > monitorRect.Height ? monitorRect.Y: iFinalWinY;                   

                    BFS.Window.SetSizeAndLocation(windowHandle, iFinalWinX, iFinalWinY, iFinalWinW, iFinalWinH );

           }

}