有时,我们需要获取当前计算机中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
编译运行效果如下: