Jump to content

WinMove() works 2/3 times

Recommended Posts


Hi all. I am new (first post), been lurking and learning for a while.

Every day for work, I have to manually load and position three IE windows (about 10 tabs total). My script attempts to automate this. However, autoit will only move the first two windows it creates, not the third. For example, if you rearrange my script so that $oIEUtilities is created first, WinMove() works; but when it is the third window, it does not. Am I missing something easy and obvious? Any help is appreciated. Running Windows 7, IE 11, 6 monitors.

PS - I have a much larger script that this will be a part of eventually, I am just testing/debugging before I add this code to that script.


#include <IE.au3>

While 1
   HotKeySet("+{LEFT}", "setupwindows")

Func setupwindows ()

   Opt("WinTitleMatchMode", 2)

   $oIENewsMontage = _IECreate("http://www.theflyonthewall.com/flyingMachineVertical.php")
   __IENavigate($oIENewsMontage, "https://www.google.com/finance", 0, 0x800)
   WinWait("Google Finance")
   __IENavigate($oIENewsMontage, "http://www.cefconnect.com/", 0, 0x800)
   WinWait("CEF Connect")
   __IENavigate($oIENewsMontage, "http://www.stockhouse.com/", 0, 0x800)
   __IENavigate($oIENewsMontage, "http://seekingalpha.com/", 0, 0x800)
   WinWait("Seeking Alpha")
   __IENavigate($oIENewsMontage, "https://www.sec.gov/edgar/searchedgar/companysearch.html", 0, 0x800)
   __IENavigate($oIENewsMontage, "https://www.bloomberg.com/markets/stocks/futures", 0, 0x800)
   WinMove("FlyingMachine", "", 0, 0, 1280, 650)

   $oIEFlySearch = _IECreate("http://www.theflyonthewall.com/content_index.php?")
   WinMove("theflyonthewall.com", "", 1921, 343, 639, 681)

    $oIEUtilities = _IECreate("yahoo.com")
   __IENavigate($oIEUtilities, "bing.com", 0, 0x800)
   WinMove("Bing", "", -1280, 219, 641, 564)
;~    Sleep(1000)
;~    WinActivate("Yahoo")
;~    WinMove("Yahoo", "", -1280, 219, 641, 564)

   If(Not WinExists("Windsor")) then
      Run("C:\Program Files (x86)\Windsor Direct\terminal.exe")
   WinMove("Windsor", "", 1280, 132, 646, 943)



Share this post

Link to post
Share on other sites


#include <Array.au3>
#include <IE.au3>
#include <WinAPIGdi.au3>

Global $aMonitorInfo = MonitorInfo()
Global $hIENewsMontage, $hIEFlySearch, $hIEUtilities

Global $aIENewsMontage[8]
$aIENewsMontage[0] = 7
$aIENewsMontage[1] = "http://www.theflyonthewall.com/flyingMachineVertical.php"
$aIENewsMontage[2] = "https://www.google.com/finance"
$aIENewsMontage[3] = "http://www.cefconnect.com/"
$aIENewsMontage[4] = "http://www.stockhouse.com/"
$aIENewsMontage[5] = "http://seekingalpha.com/"
$aIENewsMontage[6] = "https://www.sec.gov/edgar/searchedgar/companysearch.html"
$aIENewsMontage[7] = "https://www.bloomberg.com/markets/stocks/futures"

Global $aIEFlySearch[2]
$aIEFlySearch[0] = 1
$aIEFlySearch[1] = "http://www.theflyonthewall.com/content_index.php?"

Global $aIEUtilities[3]
$aIEUtilities[0] = 2
$aIEUtilities[1] = "yahoo.com"
$aIEUtilities[2] = "bing.com"

_IEOpenUrl($hIENewsMontage, $aIENewsMontage, 1)
_IEOpenUrl($hIEFlySearch, $aIEFlySearch, 2)
_IEOpenUrl($hIEUtilities, $aIEUtilities, 3)

Func _IEOpenUrl($hWnd, $aUrl, $iMonitor)
    Local $oIE
    $oIE = _IECreate($aUrl[1])
    $hwnd = _IEPropertyGet($oIE, "hwnd")
    If UBound($aUrl) - 1 > 1 Then
        For $i = 2 To $aUrl[0]
            $oIE.Navigate2($aUrl[$i], 0x0800)
    WinMove($hWnd, "", $aMonitorInfo[$iMonitor][1], $aMonitorInfo[$iMonitor][2], $aMonitorInfo[$iMonitor][3], $aMonitorInfo[$iMonitor][4])
    WinSetState($hWnd, "", @SW_MAXIMIZE)

Func MonitorInfo()
    Local $aPos, $aData = _WinAPI_EnumDisplayMonitors()

    If IsArray($aData) Then
        ReDim $aData[$aData[0][0] + 1][5]
        For $i = 1 To $aData[0][0]
            $aPos = _WinAPI_GetPosFromRect($aData[$i][1])
            For $j = 0 To 3
                $aData[$i][$j + 1] = $aPos[$j]
    Return $aData


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now