Forum: Win32/Win64 API (native code)
by Luckie,
6. Aug 2007
Also so:
KernelTime64.LowPart := ProcList.Items.KernelTime.dwLowDateTime;
KernelTime64.HighPart := ProcList.Items.KernelTime.dwHighDateTime;
UserTime64.LowPart := ProcList.Items.KernelTime.dwLowDateTime;
UserTime64.HighPart := ProcList.Items.KernelTime.dwHighDateTime;
CPUTime64.QuadPart := KernelTime64.QuadPart + UserTime64.QuadPart;
...
Forum: Win32/Win64 API (native code)
by Luckie,
6. Aug 2007
Leder kann ich die QuadParts nicht addieren, da TFileTime dies nicht besitzt, deswegen hatte ich es einzeln addiert.
Forum: Win32/Win64 API (native code)
by Luckie,
6. Aug 2007
Danke für den Link:
CPUTime64.LowPart := ProcList.Items.KernelTime.dwLowDateTime + ProcList.Items.UserTime.dwLowDateTime;
CPUTime64.HighPart := ProcList.Items.KernelTime.dwHighDateTime + ProcList.Items.UserTime.dwHighDateTime;
CPUTimeft.dwLowDateTime := CPUTime64.LowPart;
CPUTimeft.dwHighDateTime := CPUTime64.HighPart;
//CPUTime :=...
Forum: Win32/Win64 API (native code)
by Luckie,
6. Aug 2007
Hm, und wie kopiere ich das in eine LARGE_INTEGER Struktur? Und wie bekomme ich davon dann wieder die Zeit?
Forum: Win32/Win64 API (native code)
by Luckie,
6. Aug 2007
Die CPU Zeit eines Prozesses setzt sich zusammen aus der zeit, die er im Kernel-Mode und User-Mode war. Deswegen muss ich sie addieren.
Forum: Win32/Win64 API (native code)
by Luckie,
6. Aug 2007
Wie addiere ich zwei TFileTime-Werte?
CPUTime.dwLowDateTime := ProcList.Items.KernelTime.dwLowDateTime + ProcList.Items.UserTime.dwLowDateTime;
CPUTime.dwHighDateTime := ProcList.Items.KernelTime.dwHighDateTime + ProcList.Items.UserTime.dwHighDateTime;
Das stimmt irgendwie nicht. Denn wenn ich das in eine Zeit umwandele,
FileTimeToLocalFileTime(CPUTime, lft);...