长话短说
我用 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/