Du kan bruge WMI.
Microsoft skriver om det her:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_start_page.aspDe data du ønsker findes nok under Performance Counters:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/monitoring_performance_data.aspDer er en masse eksempler på WMI-kode på
http://www.activxperts.com/activmonitor/windowsmanagement/Her er et lille eksempel, der i hvert fald virker hos mig:
Dim strComputer As String
Dim objWMIService As Object
Dim colItems As Object
Dim objItem As Object
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_Tcpip_NetworkInterface", , 48)
For Each objItem In colItems
Debug.Print "Name: " & objItem.Name
Debug.Print "BytesReceivedPerSec: " & objItem.BytesReceivedPerSec
Debug.Print "BytesSentPerSec: " & objItem.BytesSentPerSec
Debug.Print
Next
WMI er på overfladen smart og nemt at bruge, men er svært at forstå i dybden. Man kan utrolig mange ting, men det kan være svært at finde ud af hvordan. Start med eksemplerne og prøv at forstå hvad der sker, kig lidt i dokumentationen og arbejd videre derfra.