Const LEFT_MONITOR_ID = 1
Const RIGHT_MONITOR_ID = 2
Const RESTORED_WIDTH = 500
Const RESTORED_HEIGHT = 400

Const SHOWSTATE_NORMAL = 2
Const SHOWSTATE_MAXIMIZED = 3
Const SHOWSTATE_MAXIMIZED_DESKTOP = 4
Set wnd = CreateObject("UltraMon.Window")
If wnd.GetForegroundWindow() = True Then
	Set sys = CreateObject("UltraMon.System")
	
	'calculate position/size for a window stretched across left and right monitor
	Set mon = sys.Monitors(LEFT_MONITOR_ID - 1)
	posLeft = mon.WorkLeft
	posTop = mon.WorkTop
	Set mon = sys.Monitors(RIGHT_MONITOR_ID - 1)
	posRight = mon.WorkLeft + mon.WorkWidth
	posBottom = mon.WorkTop + mon.WorkHeight
	szWidth = posRight - posLeft
	szHeight = posBottom - posTop
	
	'check if the window is maximized across the two monitors, or if it isn't
	If (wnd.ShowState = SHOWSTATE_NORMAL Or wnd.ShowState = SHOWSTATE_MAXIMIZED_DESKTOP) And wnd.Left = posLeft And wnd.Top = posTop And wnd.Width = szWidth And wnd.Height = szHeight Then
		'restore window to left monitor
		wnd.Monitor = LEFT_MONITOR_ID
		wnd.Width = RESTORED_WIDTH
		wnd.Height = RESTORED_HEIGHT
		wnd.CenteredWorkspace = True
	Else
		'maximize window across two monitors
		wnd.ShowState = SHOWSTATE_NORMAL
		wnd.Left = posLeft
		wnd.Top = posTop
		wnd.Width = szWidth
		wnd.Height = szHeight
	End If
	
	wnd.ApplyChanges 0
End If