1.不能用
dwStartTick = GetTickCount();
dwIdleSt = GetIdleTime();
Sleep(1000);
dwStopTick = GetTickCount();
dwIdleEd = GetIdleTime()
PercentIdle = ((100*(dwIdleEd - dwIdleSt)) / (dwStopTick - dwStartTick));
硬件不支持
2.先通过TOOLHELP中的API枚举了每个线程ID
然后通过线程ID,用openthread()方法获得线程句柄。
然后用getThreadTimes获得每个线程的时间,但是我将usetime的low中的数据读出数据非常大,最少10w最多都上千w
不知道是否使用错误,还是getThreadTimes中的输出FILETIME类型不能直接用DWORD读取。
另还想问一个问题,如果用time.h中的宏wince_time(NULL)方法获得系统时间,可能会导致2次取值时间小于1毫秒,相减为0
有没有高手能指点我如何获得CPU使用率的方法。
谢谢