【发布时间】:2011-07-30 08:01:25
【问题描述】:
我正在编写一个诊断程序(如 everest,但更简单),我需要知道硬盘驱动器的速度。我想知道诸如:
1 - 每秒字节数(读取)
2 - 每秒字节数(写入)
3 - S.M.A.R.T 数据
我想我可以使用 WMI 来查询这样的事情,但我不知道如何。我是否需要购买组件或获取开源组件都没有关系。我也知道 Windows Perfmoon 能够做到这一点,但我不能使用它。
【问题讨论】:
-
我不回答这个问题,但我认为大文件和小文件的硬盘读/写速度是不一样的。简单的逻辑表明,您应该从 HD 读取/写入一些数据,然后将数据大小除以操作结束和开始之间的时间差(以秒为单位),以分别获得适当的读/写速度。对于 S.M.A.R.T 数据,我不知道。
-
是的,这是一种简单的方法。但我猜windows有一些可以使用的东西。
-
Windows 没有任何可以从代码中使用的内置功能,AFAIK。它使用硬盘的性能来提供 Vista/Win7 上的 Windows 体验指数,但我不知道有任何 API 可以从您自己的应用程序连接到该指数。
标签: delphi winapi wmi hardware hard-drive