Windows资源监视器使用哪些Win32函数来检测已终止进程的磁盘和网络活动?

时间:2017-01-26 13:44:51

标签: c++ windows winapi visual-c++ win32-process

Windows资源监视器中有四个选项卡 - CPU,MEMORY,DISK,NETWORK 该程序向我们展示了每个进程及其各自的 PID (进程ID),这些进程涉及磁盘驱动器和网络的I / O活动。

问题

我正在使用Win32编程加Visual C ++(Visual Studio)。我创建了一个进程(使用 CreateProcess 函数)“VBS3_64.exe”,假设我不知道它的内部行为,In我的程序我的唯一目的是创建该过程,让它执行几分钟并使用终止 SendMessage 函数终止它。 在我逐步终止该进程后, Windows资源监视器显示“终止”状态(灰色)上的CPU和内存使用情况,但磁盘活动和网络活动都在运行(黑色)此刻的几分钟。即使 Windows任务管理器也没有显示该进程。

我使用Win32函数检查进程是否仍在系统上运行,即使它被称为Terminate或强制kill,但所有这些函数都给我相同的结果。但只有资源监视器检测到它的清理--Disk活动和网络活动

问题

  1. 如何终止进程仍然在后台运行其清理工作,只有资源监视器使用各自的 PID 检测到它?
  2. 哪些Win32功能可以帮助我们检测此类进程? (资源监视器正在使用哪些Win32函数来检测终止进程的后台/清理活动)。
  3. 请参阅我在MSDN上询问的以下问题: - MSDN QUESTION

1 个答案:

答案 0 :(得分:2)

你的想法太难了。这个过程已经终止......这意味着它已经消失了 资源监视器只是向您显示更长的信息,以便您有机会看到它。