Folgende Methode gibt an, wie viel Arbeitsspeicher ein Programm belegt. Der Rückgabewert ist in Bytes. Es empfiehlt sich also noch eine Umrechnung in KBytes oder MBytes.
function ProcessMemory : double;
var
pmc: PPROCESS_MEMORY_COUNTERS;
cb: Integer;
MemStat: tMemoryStatus;
begin
Result := 0;
MemStat.dwLength := SizeOf(MemStat);
GlobalMemoryStatus(MemStat);
cb := SizeOf(TProcessMemoryCounters);
GetMem(pmc, cb);
pmc^.cb := cb;
if GetProcessMemoryInfo(GetCurrentProcess(), pmc, cb) then
Result := Longint(pmc^.WorkingSetSize);
FreeMem(pmc);
end;
Ein Beispielaufruf wäre:
Showmessage( FormatFloat( '0.00', ProcessMemory / 1024 / 1024 ) + ' MByte belegt' );
Benötigte Units: PsAPI;
This entry was posted on Feb 13, 2007 at 18:24:38 and is filed under Delphi. You can follow any responses to this entry through the RSS 2.0 feed, or leave a response (below) .
Bisher keine Kommentare für diesen Eintrag...
Kommentare sind für diesen Beitrag geschlossen.