Hallo zusammen ...
Ich habe mir einmal die EnumProcesses
Unit von Luckie heruntergeladen. Klappt soweit auch ganz gut. Hier erstmal der Link zur
Unit:
EnumProcesses
Dort gibt es eine Funktion, welche mir die CPU Nutzungszeit ausgibt:
Delphi-Quellcode:
function PrintCPUTime(Process: TProcess): WideString;
var
KernelTime64 : LARGE_INTEGER; //TFileTime;
UserTime64 : LARGE_INTEGER;
CPUTime64 : LARGE_INTEGER;
CPUTimeft : TFileTime;
st : TSystemTime;
TimeStr : array[0..254] of WideChar;
Kernel, User : Cardinal;
dwTime : DWORD;
begin
KernelTime64.LowPart := Process.KernelTime.dwLowDateTime;
KernelTime64.HighPart := Process.KernelTime.dwHighDateTime;
UserTime64.LowPart := Process.UserTime.dwLowDateTime;
UserTime64.HighPart := Process.UserTime.dwHighDateTime;
CPUTime64.QuadPart := KernelTime64.QuadPart + UserTime64.QuadPart;
CPUTimeft.dwLowDateTime := CPUTime64.LowPart;
CPUTimeft.dwHighDateTime := CPUTime64.HighPart;
FileTimeToSystemTime(CPUTimeft, st);
GetTimeFormatW(LOCALE_SYSTEM_DEFAULT, TIME_FORCE24HOURFORMAT, @st, nil, TimeStr, SizeOf(TimeStr));
Result := WideString(TimeStr);
end;
Ich würde aber gerne daraus die CPU Auslastung herausbekommen. Nur wie stell ich das an? Man müsste ja nur die Berechnung umstellen der einzelnen Vars.
Danke schon einmal im voraus.
Viele Grüße
Nakaron