我正在嘗試寫入一些內容,以便在硬盤讀取數據或寫入數據時隨時觸發事件。我知道這涉及到使用System.Diagnostics.PerformanceCounter,但我不知道這足以讓我自己做到這一點。有人能指引我朝着正確的方向嗎?另外,我希望發生的事件返回正在讀取或寫入的驅動器。任何幫助,將不勝感激。順便說一下,這是C#。爲硬盤讀取和寫入創建事件
5
A
回答
8
下不會產生事件,但你可以用計時器一起使用的托盤中顯示的信息(按評論):
using System.Diagnostics;
private PerformanceCounter diskRead = new PerformanceCounter();
private PerformanceCounter diskWrite = new PerformanceCounter();
diskRead.CategoryName = "PhysicalDisk";
diskRead.CounterName = "Disk Reads/sec";
diskRead.InstanceName = "_Total";
diskWrite.CategoryName = "PhysicalDisk";
diskWrite.CounterName = "Disk Writes/sec";
diskWrite.InstanceName = "_Total";
_Total
是所有磁盤的......要得到具體可用磁盤instancenames使用:
var cat = new System.Diagnostics.PerformanceCounterCategory("PhysicalDisk");
var instNames = cat.GetInstanceNames();
您可以創建爲每個實例你有興趣一對diskRead
/diskWrite
在...關於如何結合定時器使用此示例見this。
相關問題
- 1. 如何使用Firefox插件從硬盤讀取/寫入文件?
- 2. 將文本讀取並寫入硬盤上的單獨文件
- 3. 如何在Firefox中讀取/寫入硬盤中的文件?
- 4. 讀取/寫入C盤?
- 5. iTextSharp從硬盤讀取pdf模板並寫入文本
- 6. 確定硬盤驅動器的讀取/寫入速度
- 7. 同時有2個以上的硬盤讀取/寫入
- 8. Windows存儲將數據量讀取寫入硬盤驅動器
- 9. 從硬盤快速讀取
- 10. 使用javascript從硬盤讀取文件
- 11. 如何將文件讀/寫入java中的硬盤驅動器?
- 12. 針對linux的硬件寫入和讀取功能
- 13. 硬件鍵盤事件
- 14. 讀取和寫入文件
- 15. 讀取和寫入文件
- 16. 讀取和寫入文件
- 17. 寫入和讀取文件
- 18. 創建,寫入和讀取新文件類型
- 19. 如何使用java讀取,寫入和創建excel文件?
- 20. 資源CPU內存帶寬硬盤的讀取和寫入的iFrame
- 21. 直接在win32api中讀取和寫入硬盤,如biosdisk或ms-dos中的absread
- 22. 寫入/讀取到Windows事件日誌
- 23. 在應用程序中讀取硬件鍵盤的輸入
- 24. 創建和寫入文件
- 25. 同時寫入和讀取同一文件(磁盤異步?)
- 26. 如何在讀取/寫入文件時克服硬件限制。
- 27. 如何在組件中寫入/讀取硬件
- 28. 讀取/寫入文件,然後在Fortran中創建.exe文件
- 29. 嵌入谷歌硬盤文件夾中的Apps腳本 - 創建
- 30. C#讀取/寫入物理磁盤
如果你真的想爲每個與磁盤相關的R/W發生一個事件,那麼你將需要實現一個所謂的文件系統驅動程序 - 它不能在.NET中實現。如果你可以更清楚地描述你的目標是什麼,也許還有另一種方法來獲得你想要的結果... – Yahia 2012-03-19 21:42:25
我想要做的是創建一種「磁盤光」。當硬盤驅動器正在進行寫入操作時,托盤中的某些物品會閃爍紅光,並且每當進行讀取操作時閃爍綠色。 – Icemanind 2012-03-19 21:50:38
這是更方便的一種事情還是你瞄準安全(即監控任何磁盤活動)? – Yahia 2012-03-19 22:01:18