【问题标题】:How to watch new processes that are running or terminated in Visual C++如何查看 Visual C++ 中正在运行或终止的新进程
【发布时间】:2012-04-25 12:27:17
【问题描述】:

我想知道如何查看正在运行或终止的新进程。我可以使用 Windows 7 API 来实现吗?怎么样?

我在 Windows 7 中使用 Visual C++,不想使用 .Net Framework。

【问题讨论】:

  • 你能描述一下这个场景吗?需要监控所有进程是不寻常的。通常你应该不理会进程。
  • @raymondchen 我应该记录新的正在运行的进程或终止的进程
  • 但是你为什么要记录它们呢?

标签: winapi visual-c++ process


【解决方案1】:

虽然您可以使用轮询(即 EnumProcesses)来做到这一点,但最好的方法是事件驱动的方法。为此,您需要使用 WMI。这个MSDN page gives sample code

更新显然您可以使用Event Tracing for Windows 作为替代方案,但我个人对此一无所知。

【讨论】:

  • WMI 不是必需的。 Windows 事件跟踪是一种更有效的替代方法。但它也是一个可以编程的 PITA。
  • @arx 我从未听说过事件跟踪。感谢您的有用评论。
【解决方案2】:

您可以使用工具帮助库中的Process32FirstProcess32NextThis MSDN article有一个获取运行进程列表的例子。

另一种选择是EnumProcesses function

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2021-06-10
    • 2021-07-26
    • 2013-03-21
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多