Const POS_LEFT = 10 'x coordinate of window's top-left corner
Const POS_TOP = 10 'y coordinate of window's top-left corner
Const WIDTH = 400 'width of the window
Const HEIGHT = 300 'height of the window
Const REMEMBER_ORIG_POS = False 'if True, the window will be restored to the original position/size if the script is run a second time

Const SHOWSTATE_NORMAL = 2
Const SHOWSTATE_MAXIMIZED = 3
REG_KEY = "HKEY_CURRENT_USER\Software\Realtime Soft\" & WScript.ScriptName
Set wnd = CreateObject("UltraMon.Window")
If wnd.GetForegroundWindow() = True Then
	wndLeft = POS_LEFT
	wndTop = POS_TOP
	wndWidth = WIDTH
	wndHeight = HEIGHT
	wndMonitor = 0
	wndShowState = SHOWSTATE_NORMAL

	If REMEMBER_ORIG_POS = True Then
		Set sh = CreateObject("WScript.Shell")
		If wnd.ShowState = SHOWSTATE_NORMAL And wnd.Left = POS_LEFT And wnd.Top = POS_TOP And wnd.Width = WIDTH And wnd.Height = HEIGHT Then
			'window was already positioned, move it back to the original position
			strValName = REG_KEY & "\" & Hex(wnd.HWnd)
			strVal = sh.RegRead(strValName)
			If strVal <> "" Then
				vals = Split(strVal, ",")
				If vals(0) = "m" Then
					wndShowState = SHOWSTATE_MAXIMIZED
					wndMonitor = CLng(vals(1))
				Else
					wndShowState = SHOWSTATE_NORMAL
					wndLeft = CLng(vals(1))
					wndTop = CLng(vals(2))
					wndWidth = CLng(vals(3))
					wndHeight = CLng(vals(4))
				End If
		
				sh.RegDelete strValName
			End If
		Else
			'window hasn't been positioned yet, store its current position
			strVal = ""
			If wnd.ShowState = SHOWSTATE_MAXIMIZED Then
				strVal = "m," & wnd.Monitor
			Else
				strVal = "n," & wnd.Left & "," & wnd.Top & "," & wnd.Width & "," & wnd.Height
			End If
			sh.RegWrite REG_KEY & "\" & Hex(wnd.HWnd), strVal
		End If
	End If

    wnd.ShowState = wndShowState
	If wndShowState = SHOWSTATE_NORMAL Then
		wnd.Left = wndLeft
		wnd.Top = wndTop
		wnd.Width = wndWidth
		wnd.Height = wndHeight
	Else
		wnd.Monitor = wndMonitor
	End If
    wnd.ApplyChanges 0
End If
