用VB检测CPU使用率

来源:百度知道 编辑:UC知道 时间:2024/06/17 22:22:15
我想用VB做一个程序,当CPU使用率为100时自动暂停程序,当使用率回落到50以下时又重新开始,可是要怎么样才能使系统返回当前的CPU使用率呢(这个软件没有实际用途,我只是想研究编程技术而已)

Option Explicit

'定义相关的API
Private Declare Function NtQuerySystemInformation Lib "ntdll" (ByVal dwInfoType As Long, ByVal lpStructure As Long, ByVal dwSize As Long, ByVal dwReserved As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)

'相关的常量
Private Const SYSTEM_BASICINFORMATION = 0&
Private Const SYSTEM_PERFORMANCEINFORMATION = 2&
Private Const SYSTEM_TIMEINFORMATION = 3&
Private Const NO_ERROR = 0

'相关的数据类型
Private Type LARGE_INTEGER
dwLow As Long
dwHigh As Long
End Type

Private Type SYSTEM_PERFORMANCE_INFORMATION
liIdleTime As LARGE_INTEGER
dwSpare(0 To 75) As Long
End Type

Private Type SYSTEM_BASIC_INFORMATION
dwUnknown1 As Long
uKeMaximumIncrement As Long
uPageSize As Long
uMmNumberOfPhysicalPages A