![]() |
EnumProcesses von Luckie
Hallo zusammen ...
Ich habe mir einmal die EnumProcesses Unit von Luckie heruntergeladen. Klappt soweit auch ganz gut. Hier erstmal der Link zur Unit: ![]() Dort gibt es eine Funktion, welche mir die CPU Nutzungszeit ausgibt:
Delphi-Quellcode:
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.
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; Danke schon einmal im voraus. Viele Grüße Nakaron |
Re: EnumProcesses von Luckie
Vielleicht hilft dir dabei
![]() etwas mehr. Über Google solltest du einiges an fertigen Code finden :) |
Re: EnumProcesses von Luckie
Hmm, würde mir insoweit helfen, wenn ich wüsste welche Vars ich als Parameter übergeben müsste, welche in der PrintCPUTime vertreten sind.
Viele Grüße Nakaron |
Re: EnumProcesses von Luckie
Du musst über eine bestimmte Zeitspanne die CPU-Zeit ermitteln und dann ausrechnen wie viel Prozent das sind. Würd eich jetzt mal so früh am Morgen sagen.
Und das was du da gepostet hast, rechnet nur die CPU-Zeit in eine Systemzeit um und formatiert sie entsprechend. |
Re: EnumProcesses von Luckie
Keinen Schimmer wie ich generell die CPU Auslastung errechnen kann ...
Ich hab zwar schon einige Beispiele hier im Forum gesehen, wüsste allerdings nicht wie ich die in deine Unit mit einbinde. Viele Grüße Nakaron |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz