我想显示一个进程列表(Windows,C ++)以及它们从磁盘读取和写入的内容(KB /秒)。

Windows 7的资源监视器具有这样的能力,所以我应该能够这样做。

但是我无法找到相关的API调用或在perfmon计数器中找到任何内容。有人能指出我的方向吗?

有帮助吗?

解决方案

您可以致电 GetProcessIoCounters 获取整体信息每个进程的磁盘I / O数据 - 您需要自己跟踪增量并转换为基于时间的速率。

此API将告诉您I / O操作的总数以及总字节数。

其他提示

WMI 可以做到,只要您定期对其进行快照以获得某些“最近”的差异统计信息。一片时间。 这篇文章介绍了一种特殊的混合解决方案, VBScript 从WMI读取信息并 Perl 不断在Windows控制台中显示信息。尽管语言混合很奇怪,但我认为它是如何获得所需信息的一个很好的例子(当然,用C ++重新编写所有信息应该是非常可能的。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top