Вопрос:
Я хочу получить все сохраненные журналы событий моей машины 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