AIM-PIbd-32-Kurbanova-A-A/aimenv/Lib/site-packages/win32/Demos/EvtSubscribe_pull.py
2024-10-02 22:15:59 +04:00

29 lines
792 B
Python

## Demonstrates how to create a "pull" subscription
import win32con
import win32event
import win32evtlog
query_text = '*[System[Provider[@Name="Microsoft-Windows-Winlogon"]]]'
h = win32event.CreateEvent(None, 0, 0, None)
s = win32evtlog.EvtSubscribe(
"System",
win32evtlog.EvtSubscribeStartAtOldestRecord,
SignalEvent=h,
Query=query_text,
)
while 1:
while 1:
events = win32evtlog.EvtNext(s, 10)
if len(events) == 0:
break
##for event in events:
## print(win32evtlog.EvtRender(event, win32evtlog.EvtRenderEventXml))
print("retrieved %s events" % len(events))
while 1:
print("waiting...")
w = win32event.WaitForSingleObjectEx(h, 2000, True)
if w == win32con.WAIT_OBJECT_0:
break