declare Sleep in WIN32API integer nProcessID = _vfp.processID && or specify one, eg from task manager oWMIService = getobject("winmgmts:\\") oItems = oWMIService.ExecQuery ; ([Select * From Win32_PerfRawData_PerfProc_Process where IDProcess = '] + ; transform(nProcessID) + [']) for each oItem in oItems nPercentUsed1 = val(oItem.PercentUserTime) nTimeValue1 = val(oItem.TimeStamp_Sys100NS) next for nCounter = 1 to 5 Sleep(100) oItems = oWMIService.ExecQuery ; ([Select * From Win32_PerfRawData_PerfProc_Process where IDProcess = '] + ; transform(nProcessID) + [']) 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