检测硬盘是否正在被访问
本文关键字:访问 硬盘 是否 检测 | 更新日期: 2023-09-27 18:18:28
我正试图使一个非常简单的硬盘访问监视器工作像那些嵌入式led闪烁根据驱动器的使用。那个LED真的对我很有帮助,但是我用的笔记本电脑没有。= [
所以,我已经做了一个简单的托盘图标应用程序,但是我不知道如何确定磁盘访问的变量。
我已经搜索过了,发现了类似System.Diagnostics的东西。PerformanceCounter,但我不知道使用它为我的任务。
如果有其他解决方案,我也很感激!=)谢谢。
哦!我差点忘了,它需要检测任何和每一个访问硬盘驱动器。我已经测试了一个应用程序(使用完全相同的假定函数),但是在一些测试之后,我很容易意识到它缺少一些访问,主要是在执行新程序时。
我找到了一个用VB.NET编写的硬盘活动监视器示例应用程序。这是相当简单的,所以你应该没有问题,将其转换为c#。
这个想法是使用两个性能计数器,"磁盘读字节/秒"answers"磁盘写字节/秒"为"LogicalDisk"
ReadCounter = New PerformanceCounter("LogicalDisk", "Disk Read Bytes/sec", "_Total")
WriteCounter = New PerformanceCounter("LogicalDisk", "Disk Write Bytes/sec", "_Total")
然后在主循环(需要线程化)中调用NextValue
来确定是否有磁盘活动。
R = ReadCounter.NextValue
W = WriteCounter.NextValue
完整的源代码在微软的网站上。