如何在 C# 中获取磁盘利用率信息

How do I get disk utilization info in C#

如何在 Windows 10 中获取磁盘利用率信息,类似于任务管理器的方式?

我想按顺序做这些:

  1. 登录到控制台
  2. 在小部件或托盘图标中显示

最终目标是能够根据特定时间段内的平均磁盘利用率来限制或关闭程序。

C# 首选 C++ 也可接受

准确性很重要,所以如果我需要使用与任务管理器相同的API可以做到。

注意

我指的不是磁盘 space 利用率,而是读写利用率。

在 timer_tick 方法中使用此代码:

    PerformanceCounter disk = new PerformanceCounter("PhysicalDisk", "% Disk Time", "_Total");
    Int32 j = 0;
    j = Convert.ToInt32(disk.NextValue());
    Console.WriteLine(j);

代码为 C#