Funktionreferenz


_EventLog__Read

Beschreibung anzeigen in

Liest einen Eintrag aus dem Event Log

#include <EventLog.au3>
_EventLog__Read ( $hEventLog [, $bRead = True [, $bForward = True [, $iOffset = 0]]] )

Parameter

$hEventLog Handle des Event Log
$bRead [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.
$bForward [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 $bRead 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 <EventLog.au3>
#include <FontConstants.au3>
#include <GUIConstantsEx.au3>

Global $g_idMemo

Example()

Func Example()
    Local $hEventLog, $aEvent

    ; Erstellt eine GUI
    GUICreate("EventLog", 600, 300)
    $g_idMemo = GUICtrlCreateEdit("", 2, 2, 596, 294, 0)
    GUICtrlSetFont($g_idMemo, 9, $FW_NORMAL, $GUI_FONTNORMAL, "Courier New")
    GUISetState(@SW_SHOW)

    ; 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   ;==>Example

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