This is a creation in Article, where the information may have evolved or changed.
Package main/* #include <windows.h> #include <stdio.h> #include <conio.h>double filetimetodouble ( filetime* pfiletime) {return (double) ((*pfiletime). Dwhighdatetime * 4.294967296E9) + (double) (*pfiletime). Dwlowdatetime;} Double m_foldcpuidletime;double m_foldcpukerneltime;double m_foldcpuusertime; BOOL Initialize () {FILETIME ftidle, Ftkernel, Ftuser; BOOL flag = false;if (flag = Getsystemtimes (&ftidle, &ftkernel, &ftuser)) {m_foldcpuidletime = Filetimetodouble (&ftidle); m_foldcpukerneltime = Filetimetodouble (&ftkernel); m_fOldCPUUserTime = Filetimetodouble (&ftuser);} return flag;} int getcpuuserate () {int ncpuuserate =-1; FILETIME Ftidle, Ftkernel, Ftuser;if (Getsystemtimes (&ftidle, &ftkernel, &ftuser)) {Double fcpuidletime = Filetimetodouble (&ftidle);d ouble fcpukerneltime = filetimetodouble (&ftkernel);d ouble fCPUUserTime = Filetimetodouble (&ftuser); ncpuuserate= (int) (100.0-(fcpuidletime-m_foldcpuidletime)/(FCPUKERNELTIME-M_FOLDCPukerneltime + fcpuusertime-m_foldcpuusertime) *100.0); m_foldcpuidletime = Fcpuidletime;m_foldcpukerneltime = Fcpukerneltime;m_foldcpuusertime = Fcpuusertime;} return ncpuuserate;} int CPU () {if (! Initialize ()) {getch (); return-1;} Else{sleep (+); return getcpuuserate ();} return-1;} */import "C" Import ("FMT") func main () {for {CPU: = C.CPU () fmt. Printf ("\r%d%%", CPU)}}