Я хочу получить все сохраненные журналы событий моей машины Windows 8 с помощью python 3.3 (особенно журналы событий мыши). Я нашел способ получить файл журнала событий с модулем win32evtlog в python. Читая logtype “System”, я получаю общее число 6594.
import win32evtlog
hand = win32evtlog.OpenEventLog("localhost","System")
flags = win32evtlog.EVENTLOG_BACKWARDS_READ| win32evtlog.EVENTLOG_SEQUENTIAL_READ
total = win32evtlog.GetNumberOfEventLogRecords(hand)
print("Total Number of Events:",total)
>> Общее количество событий: 6594
Я полагаю, что событие мыши регистрирует все остальные журналы определенного размера в этих ок. 6600 журналов событий. Но когда я пытаюсь перебрать/перебрать события, чтобы получить информацию, я просто верну 3 объекта журнала событий.
import win32evtlog
hand = win32evtlog.OpenEventLog("localhost","System")
flags = win32evtlog.EVENTLOG_BACKWARDS_READ| win32evtlog.EVENTLOG_SEQUENTIAL_READ
events = win32evtlog.ReadEventLog(hand,flags,0)
print("LEN of event objects stored:",len(events),end="\n"*2)
>> LEN хранимых объектов событий: 3
Неужели я ошибаюсь в решении? Или вы видите, что здесь не так? Каждый раз благодарен за любую помощь
У меня возникла такая же проблема, пытаясь получить события запуска и завершения работы. Очевидно, проблема заключается именно в том, как вы просматриваете список событий, это должно быть сделано, как здесь: http://www.blog.pythonlibrary.org/2010/07/27/pywin32-getting-windows-event-logs/
events = win32evtlog.ReadEventLog(hand,flags,0) while events: events=win32evtlog.ReadEventLog(hand,flags,0) for event in events: #do stuff here