Мониторинг загрузки HDD - VB

Узнай цену своей работы

Формулировка задачи:

Всем привет! Нашел массу примеров о монгиторинге ресурсов (RAM/CPU...) Но увы ничего не нашел по анализу загрузки HDD. Никто не иммеет в своем архиве ничего подобного?

Решение задачи: «Мониторинг загрузки HDD»

textual
Листинг программы
  1. Public Class ...
  2.  
  3.     Private HddLedWrite As System.Diagnostics.PerformanceCounter
  4.     Private HddLedRead As System.Diagnostics.PerformanceCounter
  5.  
  6.     Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  7.         HddLedRead = New System.Diagnostics.PerformanceCounter
  8.         HddLedRead.CategoryName = "PhysicalDisk"
  9.         HddLedRead.CounterName = "Disk Read Bytes/sec"
  10.         HddLedRead.InstanceName = "_Total"
  11.         HddLedWrite = New System.Diagnostics.PerformanceCounter
  12.         HddLedWrite.CategoryName = "PhysicalDisk"
  13.         HddLedWrite.CounterName = "Disk Write Bytes/sec"
  14.         HddLedWrite.InstanceName = "_Total"
  15.     End Sub
  16.  
  17.     Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
  18.         Dim I As Integer
  19.         Dim Item As Object
  20.         Dim DrivesInfo() As IO.DriveInfo
  21.         Dim Read As Single = HddLedRead.NextValue
  22.         Dim Write As Single = HddLedWrite.NextValue
  23.         DrivesInfo = IO.DriveInfo.GetDrives()
  24.         ReDim Drives(-1)
  25.         For Each Item In DrivesInfo
  26.             If Item.DriveType = IO.DriveType.Fixed Then
  27.                 I = Drives.Length
  28.                 ReDim Preserve Drives(I)
  29.                 Try
  30.                     With Drives(I)
  31.                         .Name = Item.Name.Replace("\", "")
  32.                         .LowSpace = Item.TotalFreeSpace / 1048576 < LowSpace
  33.                         .System = .Name = Environment.GetEnvironmentVariable("SystemDrive")
  34.                         .TotalFreeSpace = Item.TotalFreeSpace
  35.                         .TotalSize = Item.TotalSize
  36.                         .VolumeLabel = IIf(Len(Item.VolumeLabel) = 0, "Local Disk", Item.VolumeLabel)
  37.                     End With
  38.                 Catch ex As Exception
  39.                     'Диск извлечен
  40.                 End Try
  41.             End If
  42.         Next
  43.         Application.DoEvents()
  44.     End Sub
  45.  
  46. End Class

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы