Thema: EnumProcesses

Einzelnen Beitrag anzeigen

Nakaron

Registriert seit: 19. Mär 2004
28 Beiträge
 
Delphi 2007 Professional
 

Re: EnumProcesses

  Alt 29. Aug 2007, 12:11
Ich nehme mal an das ich die CPU Auslastung aus folgendem Code ausrechnen kann oder?

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 habe mit den Werten von KernelTime64, UserTime64, CPUTime64 und CPUTimeft schon etwas rumprobiert. Da ich mich allerdings damit nicht auskenne, habe ich es bisher noch nicht rausbekommen.

Könntest du mir vielleicht einen Denkanstoß geben?

Beste Grüße
Nakaron
Andreas
  Mit Zitat antworten Zitat