Ereignissalarm Webtool

  • Hallo zusammen,

    wir setzen in der Firma einige Web-basierte Tools zu Überwachung etc. ein.

    Leider sind da einige schon etwas älter und nunja wollte ich dafür eine Art Ereignissüberwachung bauen.

    Das Tool um was es geht schreibt den Alarm in den Titel des Fensters hinein. Den lese ich aus und spiel zum Test nen Soundfile ab.

    Das Problem ist nun, wenn das Fenster nicht aktiv ist wird auch nichts abgespielt, sollte aber auch abgespielt werden wenn es nicht aktiv ist, weil man zb gerade in einen anderen Tab unterwegs ist.

    Hab da auch schon was gebastelt und bitte Euch mir Tipps zu geben was inwiefern geändert oder verbessert werden sollte.

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.3.6.1
    Author: Schnuecks
    Script Function:
    Ereignissalarm für XYZ
    #ce ----------------------------------------------------------------------------
    ; Script Start - Add your code below here
    #include
    #include
    Opt("TrayMenuMode", 1)
    Opt("TrayAutoPause", 0)
    HotKeySet("^+f", "_Exit")
    If _Singleton("Skript",1) = 0 Then Exit
    While 1
    Sleep(1000)
    _BrowserAbfrage()
    _WinAbfrage()
    WEnd
    Func _BrowserAbfrage()
    If ProcessExists("chrome.exe") + ProcessExists("firefox.exe") + ProcessExists("iexplore.exe") + ProcessExists("opera.exe") + ProcessExists("safari.exe") < 1 Then
    MsgBox(0, "Achtung", "Skript wird beendet, da kein Browser aktiv ist", 5)
    Exit
    EndIf
    EndFunc ;==>_BrowserAbfrage
    Func _WinAbfrage()
    Local $var = WinList()
    For $i = 1 To $var[0][0]
    If $var[$i][0] <> "" And IsVisible($var[$i][1]) Then
    EndIf
    Next
    $sSearch = "[Alarm:]"
    $iIndex = _ArraySearch($var, $sSearch, 0, 0, 0, 1, 0, 0)
    If Not @error Then SoundPlay("C:\Windows\Media\Garden\Windows Notify.wav", 1)
    EndFunc ;==>_WinAbfrage
    Func IsVisible($handle)
    If BitAND(WinGetState($handle), 2) Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc ;==>IsVisible
    Func _Exit()
    Exit
    EndFunc ;==>_Exit

    [/autoit]

    LG

    Schnuecks

    Einmal editiert, zuletzt von Schnuecks (13. Januar 2012 um 18:33)

    • Offizieller Beitrag

    Es gibt natürlich schon Tools zur E2E-Überwachung aber egal.
    Ich würde zumindest die Abfrage so umschreiben.

    [autoit]

    If Not ProcessExists("chrome.exe") And _
    Not ProcessExists("firefox.exe") And _
    Not ProcessExists("iexplore.exe") And _
    Not ProcessExists("opera.exe") And _
    Not ProcessExists("safari.exe") Then

    [/autoit]
  • Danke für die Antwort.

    Ich weis das es schon diese Tools gibt, aber ich wollte nur ein simples Tool für mich haben weiter nichts.

    Geht das mit der _WinAbfrage Funktion die ich drin habe irgendwie eleganter?

    LG

    Schnuecks