Maciej_27 Opublikowano 30 Grudnia 2016 Udostępnij Opublikowano 30 Grudnia 2016 Czy można zrobić tak jeżeli skrypt wykonujący zadania w jakimś momencie danej funkcji przerwie działanie bo np. gra przeglądarkowa zacieła się i nie wyświetla się piksek, chciałbym żeby w takiej sytuacji, np po upływie 5min niedziałania, programik zasygnalizował sygnałem dźwiękowym, albo uruchomił skrypt od początki, ewentualnie uruchomiłby funkcje alarmową w której miałbym napisane , żeby przeładował strone, zalogował się raz jeszcze i uruchomił skrypt. #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <EditConstants.au3> HotKeySet("{end}","myExit") $Form1 = GUICreate("Program", 300, 120, 2200, 1100) $Button1 = GUICtrlCreateButton("Start", 100, 15, 100, 35) $label1 = GUICtrlCreateInput("", 120, 60, 60, 20, $ES_NUMBER) $Label2 = GUICtrlCreateLabel("Powtórzenie "&" 0", 10, 10,70, 75) GUISetState(@SW_SHOW, $Form1) WinSetOnTop("Program" , "", 1) ;----------------------------------------------------------------------- While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE ;zamyka program Exit Case $Button1 ;jeżeli kliknie Start sleep(5) ; po wcisnieciu poczekaj chwile For $c=1 to GUICtrlRead($label1) ; to uruchamia sie cykl GUICtrlSetData($Label2, "Powtórzenie " &$c) ;----------------------------------------------------------------------- For $s = 1 to 4 WykonaneZadanie() Sleep(1000) Next Next EndSwitch WEnd ;---------------------------------------------------------------------- Func Odbierznagrode() Local $aCoord = PixelSearch(625, 874, 648, 889, 0x885C29) If Not @ Then MouseClick("left", 708,977,1,5) sleep(2500) MouseClick("left", 736, 958, 1, 30) sleep(2000) Else MouseClick("left", 708,977,1,5) EndIf EndFunc ;---------------------------------------------------------------------- Func WykonaneZadanie() $jest = PixelSearch(35, 155, 85, 450, 0x7BC237) If IsArray($jest) = 1 Then MouseClick("left", $jest[0], $jest[1], 1, 2) sleep(700) Odbierznagrode() Else EndIf EndFunc ;---------------------------------------------------------------------- Func myExit() Exit EndFunc Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ktosiu Opublikowano 30 Grudnia 2016 Udostępnij Opublikowano 30 Grudnia 2016 Obsługa IE albo FF ( są udf dostępne ) i sprawdzanie stanu przeglądarki . Mózg to nie mydło; nie ubędzie Ci go, gdy go użyjesz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cloverwew Opublikowano 30 Grudnia 2016 Udostępnij Opublikowano 30 Grudnia 2016 Nie lepiej co 5 minut pobierać zawartość i klikać w te przyciski. _IEBodyReadHTML Lepiej i łatwiej niż PixelSearch + Może napiszesz jaka to gra ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
WiValdiBB Opublikowano 18 Stycznia 2017 Udostępnij Opublikowano 18 Stycznia 2017 #include <Timers.au3> Global $iIdleTime = _Timer_GetIdleTime() Select Case _Timer_GetIdleTime() >= 180000 ; 180 000 / 1000 = 180 s _BrowserClose() ; restart przeglądarki po 180 s bezczynnsci _BrowserStart () EndSelect #csFunkcje poniżej musisz sobie zbudować _BrowserClose() _BrowserStart ()u mnie jest to mniej więcej tak Select Case _Timer_GetIdleTime() >= 180000 ; 180 000 / 1000 = 180 s _BrowserClose() ; restart przeglądarki po 100 s bezczynnsci _FileWriteLog($file, Round(TimerDiff($timer1) / 1000, 2) & "s " & "Timer Idle Time 3 min -> Browser Restart", @CRLF) StartPF() Send("{asc 0}") ;sends nothing but still resets the Timer. ASC 0 is the Null Character $timer1 = TimerInit() Sleep(30000) EndSelect #ce Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Zarchiwizowany
Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.