如何以编程方式检测Windows操作中心事件?

问题描述 投票:0回答:2

我在询问如何在 Python 中执行此操作之前发布过,但我不确定 python 是否有用于此操作的 API。

我正在尝试检测 Windows 操作中心事件。此 Python 代码将检测一些事件,但不可靠并且无法准确确定事件的类型:

h = win32evtlog.OpenEventLog(None, "System")
flags = win32evtlog.EVENTLOG_BACKWARDS_READ|win32evtlog.EVENTLOG_SEQUENTIAL_READ
for record in win32evtlog.ReadEventLog(h, flags, 0):
    if record.EventID == 10016:
        print("it's a google calendar event (or something similar)!")

但是,其他事件(例如 Chrome 中的 Google 聊天事件)似乎不会导致 Windows 系统事件,即使它们显示在操作中心中也是如此。

是否有任何方法可以以编程方式检测 Windows 操作中心事件,使用 C/C++ 或 Python(最好),甚至是 C# 等 .NET 语言?

.net winapi .net-core pywin32 event-log
2个回答
0
投票

我想我可以使用监听器并监听Toast通知。但我意识到我实际上不想依赖 .NET,所以我可能会尝试找出如何在 C/C++ 或 Python 中做到这一点。

编辑:在我用 C# 写完草稿后,我将其转换为 Python ,但并非所有事件都显示出来。


0
投票

感谢@veraf(https://stackoverflow.com/users/16477892/veraf)的回答:

“我想我可以使用监听器来监听 Toast 通知。”

我使用 .net-listerner 进行通知 从操作中心获取所有通知。它的工作

© www.soinside.com 2019 - 2024. All rights reserved.