From: Noixe on
Hello,

How I can get percentage of CPU usage and temperature of every single core
of my quad core?

With GetSystemInfo API I can get only the number of cores.

I need also get the percentage of used RAM.

I tried:

SYSTEM_INFO SysInfo;
GetSystemInfo(&SysInfo);

int nCpu = SysInfo.dwNumberOfProcessors;

// Error. SYSTEM_INFORMATION_CLASS don't exist.

SYSTEM_INFORMATION_CLASS SystemInformationClass =
SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION;


PVOID SystemInformation;
ULONG SystemInformationLength;
PULONG ReturnLength;

// I must import this function from ntdll.dll, but I don't know how.

ZwQuerySystemInformation(SystemInformationClass,
SystemInformation,
SystemInformationLength,
ReturnLength);
From: ng2010 on

"Noixe" <noixe(a)TOGLIMIemail.it> wrote in message
news:4b5339e6$0$1121$4fafbaef(a)reader3.news.tin.it...
> Hello,
>
> How I can get percentage of CPU usage and temperature of every single
> core of my quad core?
>

Research "performance counters" in the Windows API for the CPU usage (I
imagine you can get per core info else developers would be suing MS,
maybe they are, for hiding APIs because their monitor program
(taskmanager) that comes in their OS shows the info per core). For temp
(I don't think per core though) perhaps something at the assembly level
via proprietary-to-the CPU hardware instructions? Else maybe the system
monitoring software vendors have APIs (don't know if any are free
though). The Motherboard Monitor developer gave up developing his
software because it became too difficult to get information about the
hardware internals. Googling "winbond" may provide some other links to
research.