Hallo hier mal mein Script
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Change2CUI=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#Region ; mögliche Includes einbinden, bzw. nur die notwendigen einbinden.
#include <GUIConstantsEx.au3> ; für GUI Create, events
#include <MsgBoxConstants.au3> ; für MsgBox
#include <TrayConstants.au3>
#EndRegion ; mögliche Includes einbinden, bzw. nur die notwendigen einbinden.
#Region ; Script Kopf
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.14.5
Author: Code4Fun
Script Function: Das Script scannt einen bestimmten Bereich auf dem Monitor. Dieser Bereich zeigt ein webbasiertes Servermonitoring.
Im Normalfall ist dort die Farbe grün = OK
Wenn es auf orange oder rot wechselt, soll dieses Script hier später einen aktustischen Alarm auslösen.
Erstellungendatum: vom 25.04.2019
Änderungsdatum:
Version: 0.0.1
History:
0.0.1: Initialerstellung
#ce ----------------------------------------------------------------------------
#EndRegion ; Script Kopf
#Region ; AutoIt-Spezifischen Optionen
Opt("GUICloseOnESC", 1) ; Wenn man die ESC Taste drückt, wird die GUI geschlossen, da eine $GUI_EVENT_CLOSE Nachricht gesendet wird
Opt("MustDeclareVars", 1) ; Variablen (Dim / Global / Local / Const) müssen deklariert sein. Wichtig für Fehlersuche
Opt("TrayIconDebug", 1) ; Zeigt die aktuelle Skriptzeile im Trayicon Tipp um das Debugging zu unterstützen
Global $exititem
#EndRegion ; AutoIt-Spezifischen Optionen
AdlibRegister(_PixelbereichScannen, 1000)
;Tray-Menü anpassen
Opt("TrayAutoPause", 0) ; Script will not be paused when clicking the tray icon.
Opt("TrayOnEventMode", 1)
Opt("TrayMenuMode", 1 + 2)
$exititem = TrayCreateItem("Beenden")
TrayItemSetState(-1, $TRAY_UNCHECKED)
TrayItemSetOnEvent(-1, "_Exit")
TraySetState()
#Region ; Hauptschleife
While 1
WEnd
#EndRegion ; Hauptschleife
#Region ; Funktionen
Func _PixelbereichScannen()
Local $aCoord
; Wenn in den unten stehenden Koordinaten die Farbe grün (0x53A000) zu finden ist, ist alles OK
If $aCoord = PixelSearch(-2833, 835, -2771, 872, 0x53A000) Then
If Not @error Then
ConsoleWrite("OK" & @CRLF)
Else
ConsoleWrite("Kein Treffer bei OK" & @CRLF)
EndIf
EndIf
; Wenn in den unten stehenden Koordinaten die Farbe orange (0xFAA732) zu finden ist, ist Warnstufe 1 angesagt
If $aCoord = PixelSearch(-2833, 835, -2771, 872, 0xFAA732) Then
If Not @error Then
ConsoleWrite("Oranger Alarm" & @CRLF)
Else
ConsoleWrite("Kein Treffer bei orangener Alarm" & @CRLF)
EndIf
EndIf
; Wenn in den unten stehenden Koordinaten die Farbe rot (0xA00000) zu finden ist, ist Warnstufe 2 angesagt
If $aCoord = PixelSearch(-2833, 835, -2771, 872, 0xA00000) Then
If Not @error Then
ConsoleWrite("Roter Alarm" & @CRLF)
Else
ConsoleWrite("Kein Treffer bei rotem Alarm" & @CRLF)
EndIf
EndIf
EndFunc ;==>_PixelbereichScannen
Func _Exit()
Exit
EndFunc ;==>_Exit
#EndRegion ; Funktionen
Alles anzeigen
Beschreibung vom Script:
Das Script scannt einen bestimmten Bereich auf dem Monitor. Dieser Bereich zeigt ein webbasiertes Servermonitoring.
Im Normalfall ist dort die Farbe grün = OK
Wenn es auf orange oder rot wechselt, soll dieses Script hier später einen aktustischen Alarm auslösen (aktuell nur ein Konsolenausgabe)
Aktuell habe ich ein System mal vom Netz genommen, d.h. an der zu suchenden Stelle ist jetzt die Farbe rot. Es wird mir aber in der Console nur Kein Treffer bei OK und Kein Treffer bei orangener Alarm ausgegeben. Es müsste doch aber auch Roter Alarm ausgegeben werden. Alle 3 Farben wurden mit einer Farbpipette ausgelesen.
Es ist das erste mal, das ich mit sowas rumspiele, es fehlt also der Erfahrungswert. BTW. Kann mir vielleicht noch jemand helfen, wie ich später statt der Consolenausgabe eine MP3 Sounddatei abspiele.
Vielen Dank