Что нового

Можно ли управлять одновременно 6 открытыми окнами.

Bobr52x

Новичок
Сообщения
5
Репутация
0
Здравствуйте господа, хотел бы спросить - можно ли управлять шестью окнами одновременно?.

То есть задача такая, 6 окон должны прожатьсяодновременно "W", потом"D ", ну и т.д
если это возможно, скажите пожалуйста)
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Зависит от того, что считается одновременным. Если допустима пауза примерно в 10 мс тогда можно, иначе нужно извращаться с запуском дополнительных процессов с очередью ожидания (на готовность выполнения).
 
Автор
Bobr52x

Bobr52x

Новичок
Сообщения
5
Репутация
0
Зависит от того, что считается одновременным. Если допустима пауза примерно в 10 мс тогда можно, иначе нужно извращаться с запуском дополнительных процессов с очередью ожидания (на готовность выполнения).
Пауза в плане между переключением окон?.
Я имею в виду, что все 6 окон - должны синхронно нажать на "W". Запуском доп. процессов - можно сделать синхронность всех окон и управления им?. ТО есть представим что открыто 6 игр, и 6 разных людей в нее играют с разных компьютеров, вот именно так мне нужно только главная проблема - 1 компьютер и один рабочий стол на котором открыты эти окна.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Пауза в плане между переключением окон?.
Пауза в отправке команд окнам.

все 6 окон - должны синхронно нажать на "W"
Окна не умеют ничего нажимать.

Как то так:
Код:
#include <WinAPIFiles.au3>

Global $sApp_Name = '~MyTitle~'
AutoItWinSetTitle($sApp_Name)

;Only for tests
For $i = 1 To 6
    GUICreate('MyWinTitle' & $i)
    GUISetState()
Next

_Excec('MyWinTitle1', '{ESC}')
_Excec('MyWinTitle2', '{ESC}')
_Excec('MyWinTitle3', '{ESC}')
_Excec('MyWinTitle4', '{ESC}')
_Excec('MyWinTitle5', '{ESC}')
_Excec('MyWinTitle6', '{ESC}')

Sleep(1000) ;Wait a litle bit to make sure all process are set
ControlSetText('[CLASS:AutoIt v3;TITLE:' & $sApp_Name & ']', '', 'Edit1', 'OK')

Func _Excec($sTitle, $sSend)
    Local $sFile = _WinAPI_GetTempFileName(@TempDir)
   
    Local $sSrc = _
        "#NoTrayIcon" & @CRLF & _
        "While ControlGetText('[CLASS:AutoIt v3;TITLE:" & $sApp_Name & "]', '', 'Edit1') <> 'OK'" & @CRLF & _
        "WEnd" & @CRLF & _
        "SendKeepActive('" & $sTitle & "')" & @CRLF & _
        "Send('" & $sSend & "')" & @CRLF & _
        "FileDelete('" & $sFile & "')"
   
    Local $hFile = FileOpen($sFile, 2)
    FileWrite($hFile, $sSrc)
    FileClose($hFile)
   
    Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $sFile & '"')
EndFunc
 
Верх