Advertisement
Crys

cPing

Mar 30th, 2012
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 1.69 KB | None | 0 0
  1. ; Include Dateien
  2. #include-once
  3. #include <Array.au3>
  4.  
  5. ; TrayIcon
  6. ;#NoTrayIcon ; TryIcon ausblenden
  7. Opt("TrayAutoPause", 0) ; Keine Pause, bei Klick
  8. Opt("TrayIconDebug", 1) ; zeige Debug
  9.  
  10. ; Variablen
  11. $zeit_ping = 60 * 1000 ; Abstände der Pings | in ms
  12. $zeit_aus = 30 ; Wann der WHS dann herunterfährt, nach dem letzten Ping | in s
  13. $zeit_start = 5 * 60* 1000 ; Wie lange das Programm, nach dem herunterfahren wartet, bis es das erste mal pingt | in ms
  14. $zeit_uhrzeit = 22 ; Früheste Zeit zum herunterfahren | in h
  15.  
  16. dim $ping[2]
  17. dim $host[UBound($ping)]
  18. $host[0] = "client1"
  19. $host[1] = "192.168.1.123"
  20.  
  21. While 1
  22.     ; Warten bis Uhrzeit erreicht ist
  23.     While 1
  24.         if @HOUR >= $zeit_uhrzeit then exitloop
  25.         sleep($zeit_ping)
  26.     Wend
  27.     ;MsgBox(0, "", "Min. ein Gerät ist an!", 3)
  28.        
  29.     ; Warten bis min. ein Gerät gestartet ist
  30.     While 1
  31.         for $n=0 to UBound($host)-1
  32.             $ping[$n] = Ping($host[$n], 4000)
  33.             ;$error = @error
  34.             ;MsgBox(0, "Test:", $host[$n])
  35.         next
  36.            
  37.         if _ArrayToString($ping, '') <> 0 then exitloop
  38.         sleep($zeit_ping)
  39.     Wend
  40.     ;MsgBox(0, "", "Min. ein Gerät ist an!", 3)
  41.        
  42.     ; Warten, bis alle Geräte ausgeschalten sind
  43.     While 1
  44.         for $n=0 to UBound($host)-1
  45.             $ping[$n] = Ping($host[$n], 4000)
  46.             ;$error = @error
  47.             ;MsgBox(0, "Test:", $host[$n])
  48.         next
  49.            
  50.         if _ArrayToString($ping, '') = 0 then exitloop
  51.         sleep($zeit_ping)
  52.     Wend
  53.     ;MsgBox(0, "", "Alle Geräte sind aus!", 3)
  54.        
  55.     ; WHS wird in den Ruhezustand versetzt
  56.     $msg = MsgBox(4, "", "Alle Geräte sind aus, der WHS wird in den Ruhezustand versetzt!", $zeit_aus)
  57.     if $msg <> 7 then
  58.         Shutdown(64, "Durch cPing!") ; Ruhezustand
  59.         ;MsgBox(0, "", "WHS ist jetzt aus!", 10)
  60.     endif
  61.     sleep($zeit_start)
  62. Wend
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement