Что нового

Определение координат на мониторах

Nameless_One

Новичок
Сообщения
5
Репутация
0
Доброго времени суток.
Прошу помощи в решении одной задачи...
Суть такова, неоходимо открыть 4 копии браузера на 4 мониторах. Это давно готово.
НО координаты окна я задаю предварительно в коде. И вот вопрос, а как получить кординаты с подключенных 4 мониторов в режиме расширенного рабочего стола и отдать winMove?!
Код:
Func _ProcessGetWindow($iPID, $iRet = -1)
    Local $aWinList = WinList(), $aRet[2]

    If IsString($iPID) Then
        $iPID = ProcessExists($iPID)
    EndIf

    For $i = 1 To UBound($aWinList)-1
        If BitAND(WinGetState($aWinList[$i][1]), 2) And WinGetProcess($aWinList[$i][1]) = $iPID Then
            $aRet[0] = $aWinList[$i][0] ;Title
            $aRet[1] = $aWinList[$i][1] ;WinHandle

            If $iRet = 0 Then
                Return $aRet[0]
            EndIf

            If $iRet = 1 Then
                Return $aRet[1]
            EndIf

            Return $aRet
        EndIf
    Next

    Return SetError(1, 0, $aRet)
EndFunc
Sleep(5000)
$FireFox1 = @ProgramFilesDir & "\Mozilla Firefox\firefox.exe -new-window http://85.29.137.20:8001/ContentArea/Page/Home?pageId=20019"
$FireFox2 = @ProgramFilesDir & "\Mozilla Firefox\firefox.exe -new-window http://85.29.137.20:8001/ContentArea/Page/Home?pageId=20017"
$FireFox3 = @ProgramFilesDir & "\Mozilla Firefox\firefox.exe -new-window http://85.29.137.20:8001/ContentArea/Page/Home?pageId=20020"
$FireFox4 = @ProgramFilesDir & "\Mozilla Firefox\firefox.exe -new-window http://85.29.137.20:8001/ContentArea/Page/Home?pageId=20049"
Run($FireFox1)
Sleep(4000)
$hW1 = _ProcessGetWindow($FireFox1, 1)
WinActivate($hW1)
WinMove("[ACTIVE]", "", 240, -929)
Send("{F11}")
Run($FireFox2)
Sleep(4000)
$hW2 = _ProcessGetWindow($FireFox2, 1)
WinActivate($hW2)
WinMove("[ACTIVE]", "", 2153, 125)
Send("{F11}")
Run($FireFox3)
Sleep(4000)
$hW3 = _ProcessGetWindow($FireFox3, 1)
WinActivate($hW3)
WinMove("[ACTIVE]", "", 2323, -940)
Send("{F11}")
Run($FireFox4)
Sleep(4000)
$hW4 = _ProcessGetWindow($FireFox4, 1)
WinActivate($hW4)
WinMove("[ACTIVE]", "", 442, 185)
Send("{F11}")
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
http://autoit-script.ru/autoit3_docs/functions/WinGetPos.htm
 
Автор
N

Nameless_One

Новичок
Сообщения
5
Репутация
0
Прошу прощения, я внятно не пояснил задачу...
Мониторы могут быть в каком угодно порядке, не последовательно, а допустим "квадратом".
К примеру, если я по указанным в коде координатам(полученным с cmdow) в выставленных последовательно мониторах, только в двух открывается браузер. Как определить и передать координаты винмову, что б переместить отдельную копию браузера на отдельный монитор?!
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Nameless_One
Смотрите MultiMon.au3. Вот здесь код этой UDF:
http://www.autoitscript.com/forum/topic/82353-dual-monitor-resolution-detection/?p=590685
 
Верх