c++ - 有没有办法接收有关在 Windows 中启动的进程的事件?

标签 c++ windows winapi

长话短说

我用 C++ 编写了一个程序来关闭所有在我的程序启动时未运行的启动的"new"程序。目前,我通过捕获所有 PID 然后根据此列表不断检查所有已注册的应用程序来做到这一点。那些不在我名单上的人我会尝试关闭/杀死。对于这样一个简单的任务,这是非常 CPU 密集型的。有没有办法接收某种 Windows 事件,这样我就不需要非常活跃的线程?

我找到了 this钩子(Hook),它可能会做我需要它做的事情,但它似乎适合其他目的,而不是我需要的。

简而言之:

我可以在进程启动之后/之前立即从 Windows 接收到事件吗?

最佳答案

理想情况下,您会在用户模式下执行此操作且无需轮询,我唯一能想到的接近的是 WMI events .

可以找到 C++ 示例 here .您可能还想 read关于 __InstanceCreationEvent 和 Win32_ProcessStartTrace 之间的区别。

关于c++ - 有没有办法接收有关在 Windows 中启动的进程的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47147099/

相关文章:

windows - 如何在 Windows 上使用 Perl 的默认应用程序打开文件?

c++ - 如何通过 Windows API 关闭电脑?

c++ - 使用指向类成员和结构成员的指针之间的差异

android - 我可以在 Android 上的 JNI 库中使用 C++ 异常吗?

windows - 如何从Windows机器访问solaris 10 GUI?

c++ - 在 C++ 中使用 RegisterWaitForSingleObject 将参数传递给回调函数

windows - 对 IID_ImageList 的 undefined reference

c++ - WINAPI/C++ : Moving borderless window

c++ - 在 if 语句中使用 strtok 标记

.net - 如何命名已部署的应用程序?