如何从Windows事件日志中检索PID?

时间:2016-10-12 11:29:25

标签: python wmi pid wmi-query event-viewer

enter image description here我有一个python代码,它使用python的WMI模块来获取Windows事件查看器日志。但我无法检索生成日志的进程的PID。 我的代码:

def combine_dict(map1: dict, map2: dict):
    def update(d: dict, u: dict):
        for k, v in u.items():
            if isinstance(v, collections.Mapping):
                r = update(d.get(k, {}), v)
                d[k] = r
            else:
                d[k] = u[k]
        return d
    _result = {}
    update(_result, map1)
    update(_result, map2)
    return _result

query_result是wmi对象的列表。此列表中的每个对象都是一个Windows系统日志,我想要生成此日志的进程的PID。 我已经浏览了几个msdn文档,但在那里找不到任何有用的东西。

我想检索上图中标记的信息。

1 个答案:

答案 0 :(得分:0)

获取事件日志项的Win32 API调用是ReadEventLog,这将返回EVENTLOGRECORD结构。这些没有进程标识符的字段,所以除非您的事件已将其包含在事件消息的数据中,否则它将无法使用。