declare Sleep in WIN32API integer oWMIService = getobject("winmgmts:\\") oItems = oWMIService.ExecQuery ; ("Select * From Win32_PerfRawData_PerfOS_Processor where name = '0'") for each oItem in oItems nPercentUsed1 = val(oItem.PercentUserTime) nTimeValue1 = val(oItem.TimeStamp_Sys100NS) next * Take five snapshots 100 milliseconds apart * to get a truer idea of processor usage for nCounter = 1 to 5 Sleep(100) oItems = oWMIService.ExecQuery ; ("Select * From Win32_PerfRawData_PerfOS_Processor where name = '0'") for each oItem in oItems nPercentUsed2 = val(oItem.PercentUserTime) nTimeValue2 = val(oItem.TimeStamp_Sys100NS) if nTimeValue2 - nTimeValue1 = 0 nPercentProcessorTime = 0 else nPercentProcessorTime = 100 * (nPercentUsed2 - nPercentUsed1) / ; (nTimeValue2 - nTimeValue1) ? transform(nPercentProcessorTime) + "% used" endif nPercentUsed1 = nPercentUsed2 nTimeValue1 = nTimeValue2 next next