Собственно игра LeagueOfLegends. Клиент называется "PVP.net Client", когда находит игру, то перед самой загрузкой создается новое окно "League of Legends (TM) Client". Во время игры при нажатии ТAB показывает статистику и всю необходимую информацию, а в конце матча "League of Legends (TM) Client" закрывается и уже в "PVP.net Client" показывает общую статистику.
Нужно что бы каждый раз при нажатии TAB в "League of Legends (TM) Client" делался скрин который показывал бы текущую статистику игры и еще один после самой игры когда загрузится "PVP.net Client". Ну как бы всё.
В принципе вот мое творение, не знаю почему не работает. Добавлял мсгбоксы после каждой строчки. Вроде все шаги правильно проходит, но сам скрин делается непонятно когда через 10-20 сек, ато и вовсе не делается и самое главное каждый раз без зажатого TAB. Может кто что увидел, может что да и подскажет :(
Нужно что бы каждый раз при нажатии TAB в "League of Legends (TM) Client" делался скрин который показывал бы текущую статистику игры и еще один после самой игры когда загрузится "PVP.net Client". Ну как бы всё.
В принципе вот мое творение, не знаю почему не работает. Добавлял мсгбоксы после каждой строчки. Вроде все шаги правильно проходит, но сам скрин делается непонятно когда через 10-20 сек, ато и вовсе не делается и самое главное каждый раз без зажатого TAB. Может кто что увидел, может что да и подскажет :(
Код:
;Для скрина
#include <ScreenCapture.au3>
;Для размера екрана
#include <WinAPIEx.au3>
;уже не помню для чего подключал
#include <Clipboard.au3>
#Include <ScreenCapture.au3>
#Include <Misc.au3>
;для закрытия програмы
HotKeySet("+^!e", "Terminate")
Local $once = 1
While 1
While WinExists("League of Legends (TM) Client")
Sleep(10)
WinWaitActive("League of Legends (TM) Client")
;'ловим' нажатие TAB
if _IsPressed('09') Then
;нажимаем 'С' для доп. статов
Send('c')
$aPos = WinGetPos("League of Legends (TM) Client")
_ScreenCapture_Capture(@DesktopDir & "/lasttabscore.jpg", $aPos[0], $aPos[1], $aPos[0]+$aPos[2]-1,$aPos[1]+$aPos[3]-1, False)
ShellExecute(@DesktopDir & "/lasttabscore.jpg")
EndIf
;переменна которая не даст заскринить больше чем 1 раз в конце игры
$once = 0
WEnd
if $once = 0 Then
WinWait("PVP.net Client")
WinWaitActive("PVP.net Client")
Sleep(1000)
$aPos = WinGetPos("PVP.net Client")
_ScreenCapture_Capture(@DesktopDir & "endgamescore.png", $aPos[0], $aPos[1], $aPos[0]+$aPos[2]-1,$aPos[1]+$aPos[3]-1, False)
ShellExecute(@DesktopDir & "endgamescore.png")
$once = 1
EndIf
WEnd
;функция завершения програмы
Func Terminate()
Exit
EndFunc