Skocz do zawartości

Alarmowa sytuacja gdy skrypt przerwie działanie


Rekomendowane odpowiedzi

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

  • 3 tygodnie później...

#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
 
#cs

Funkcje 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

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający forum Alarmowa sytuacja gdy skrypt przerwie działanie   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...