DSAPI 获取实时统计信息CPU/内存/硬盘/网络
有时,我们需要获取当前计算机中CPU、内存、硬盘、网络等实时信息,如下图:\
要实现上述几项信息的获取,通常需要使用Timer控件来间隔获取,以便刷新最新的数据。
本示例中,放一个Timer控件,放一个TextBox控件(多行),并编写以下代码:
Private CPU As New DSAPI.实时统计.CPU Private 内存 As New DSAPI.实时统计.内存 Private 硬盘 As New DSAPI.实时统计.硬盘 Private 网络 As New DSAPI.实时统计.网络信息 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Timer1.Interval = 2000 '2秒刷新一次 End Sub Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick Dim Sb As New System.Text.StringBuilder With Sb .AppendLine("CPU: " & CPU.CPU型号 & _ " " & CPU.核心数 & "核 " & _ "使用率:" & CPU.CPU使用率) .AppendLine("内存: 总共" & DSAPI.文件类.获取可读性强的字节大小信息(内存.总容量) & _ " 剩余" & DSAPI.文件类.获取可读性强的字节大小信息(内存.可用空间) & _ " 硬件驱动占用" & DSAPI.文件类.获取可读性强的字节大小信息(内存.硬件驱动占用)) .AppendLine("硬盘: 读写速度 " & _ DSAPI.文件类.获取可读性强的字节大小信息(硬盘.当前读取速度) & "/" & _ DSAPI.文件类.获取可读性强的字节大小信息(硬盘.当前写入速度)) .AppendLine("网络: 上传速度" & DSAPI.文件类.获取可读性强的字节大小信息(网络.当前上传速度) & _ " 下载速度" & DSAPI.文件类.获取可读性强的字节大小信息(网络.当前下载速度)) End With TextBox1.Text = Sb.ToString End Sub
编译运行效果如下: