Funktionsreferenz

_EventLog__Read

Liest einen Eintrag aus dem Event Log

#Include <EventLog.au3>
_EventLog__Read($hEventLog [, $fRead = True [, $fForward = True [, $iOffset = 0]]])

 

Parameter

$hEventLog Handle des Event Log
$fRead [optional] Wenn True angegeben wird, liest die Funktion sequentiell ab dem Eintrag, der beim letzten Aufruf des Event Log's gelesen wurde.
Wenn False, beginnt die Funktion ab dem mit $iOffset übergebenem Eintrag zu lesen.
$fForward [optional] Wenn True wird das Event Log aufsteigend nach Datum gelesen.
Wenn False, wird das Event Log absteigend nach Datum gelesen.
$iOffset [optional] Die Nummer des Eintrages im Event Log, ab dem gelesen wird. Dieser Parameter wird ignoriert, wenn $fRead auf True gesetzt ist.

 

Rückgabewert

Erfolg: Array mit dem folgenden Format:
[ 0] - True
[ 1] - Nummer des Eintrags
[ 2] - Datum wann der Eintrag übermittelt wurde
[ 3] - Zeitstempel wann der Eintrag übermittelt wurde
[ 4] - Datum wann der Eintrag ins Event Log geschrieben wurde
[ 5] - Zeitstempel wann der Eintrag ins Event Log geschrieben wurde
[ 6] - Ereigniskennung
[ 7] - Ereignistyp. Diese kann einen der folgenden Werte annehmen:
1 - Fehler
2 - Warnung
4 - Information
8 - erfolgreiche Kontrolle
16 - fehlerhafte Kontrolle
[ 8] - Ereignistyp String
[ 9] - Ereignis Kategorie
[10] - Ereignis Quelle
[11] - Computer Name
[12] - Username
[13] - Ereignis Beschreibung
[14] - Ereignis Daten Array
Fehler: Array[0] = False

 

Bemerkungen

Wenn diese Funktion erfolgreich ausgeführt wurde, wird die Leseposition im Event Log an die Anzahl der Einträge angepasst. Obwohl mehrere Einträge gleichzeitig gelesen werden können, liefert die Funktion immer nur einen Datensatz zur gleichen Zeit zurück.

 

Verwandte Funktionen

_EventLog__Close, _EventLog__Open

 

Beispiel


#include <GuiConstantsEx.au3>
#include <EventLog.au3>

Global $iMemo

_Main()

Func _Main()
    Local $hEventLog, $hGUI, $aEvent

    ; Erstellt eine GUI
    $hGUI = GUICreate("EventLog", 500, 300)
    $iMemo = GUICtrlCreateEdit("", 2, 2, 496, 300, 0)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetState()

    ; Liest den aktuellsten Ereignis-Datensatz
    $hEventLog = _EventLog__Open("", "Application") ; Anwendungs-Log
    $aEvent = _EventLog__Read($hEventLog, True, False)  ; liest das letzt Event
;~  $hEventLog = _EventLog__Open("", "System"); System-Log
;~  $aEvent = _EventLog__Read($hEventLog)
;~  $aEvent = _EventLog__Read($hEventLog, True, False) ; Nächsten Eintrag lesen
    MemoWrite("Ergebnis .........: " & $aEvent[ 0])
    MemoWrite("Datensatznummer ..: " & $aEvent[ 1])
    MemoWrite("Übermittelt ......: " & $aEvent[ 2] & " " & $aEvent[ 3])
    MemoWrite("Erstellt .........: " & $aEvent[ 4] & " " & $aEvent[ 5])
    MemoWrite("Ereignis-ID ......: " & $aEvent[ 6])
    MemoWrite("Typ ..............: " & $aEvent[ 8])
    MemoWrite("Kategorie ........: " & $aEvent[ 9])
    MemoWrite("Quelle ...........: " & $aEvent[10])
    MemoWrite("Computer .........: " & $aEvent[11])
    MemoWrite("Benutzer .........: " & $aEvent[12])
    MemoWrite(@CRLF & "Beschreibung: " & @CRLF & @CRLF & $aEvent[13])
    _EventLog__Close($hEventLog)


    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

EndFunc   ;==>_Main

; Gibt eine Zeile im Memo-Fenster aus
Func MemoWrite($sMessage)
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite