Вниз
Скачать: CL | DM;

GetProcessMemoryInfo   Найти похожие ветки 

← →
maxistent ©   (2006-09-16 02:39) [0]

Как это корректно использовать:
(модуль PSApi)
function GetProcessMemoryInfo(Process: THandle; ppsmemCounters: PPROCESS_MEMORY_COUNTERS; cb: DWORD): BOOL;


← →
Zeqfreed ©   (2006-09-16 03:05) [1]

А в чем проблема? На MSDN дан пример даже, да и сама функция не сложная.

procedure ShowProcessMemUsage(ProcessId : Cardinal);
type
 TProcessMemoryCountersEx = packed record
  cb: DWORD;
  PageFaultCount: DWORD;
  PeakWorkingSetSize: DWORD;
  WorkingSetSize: DWORD;
  QuotaPeakPagedPoolUsage: DWORD;
  QuotaPagedPoolUsage: DWORD;
  QuotaPeakNonPagedPoolUsage: DWORD;
  QuotaNonPagedPoolUsage: DWORD;
  PagefileUsage: DWORD;
  PeakPagefileUsage: DWORD;
  PrivateUsage: DWORD;  
 end;
var
 hProcess : Cardinal;
 MemCounters : TProcessMemoryCountersEx;
begin
 hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, ProcessId);
 if (hProcess <> 0) and GetProcessMemoryInfo(hProcess, @MemCounters, SizeOf(TProcessMemoryCountersEx)) then begin
  with MemCounters do begin
   ShowMessageFmt("PageFaultCount: %u"#13#10 +
                  "PeakWorkingSetSize: %u"#13#10 +
                  "WorkingSetSize: %u"#13#10 +
                  "QuotaPeakPagedPoolUsage: %u"#13#10 +
                  "QuotaPagedPoolUsage: %u"#13#10 +
                  "QuotaPeakNonPagedPoolUsage: %u"#13#10 +
                  "QuotaNonPagedPoolUsage: %u"#13#10 +
                  "PagefileUsage: %u"#13#10 +
                  "PeakPagefileUsage: %u"#13#10 +
                  "PrivateUsage: %u"#13#10,
                  [PageFaultCount, PeakWorkingSetSize,
                   WorkingSetSize, QuotaPeakPagedPoolUsage,
                  QuotaPagedPoolUsage, QuotaPeakNonPagedPoolUsage,
                  QuotaNonPagedPoolUsage, PagefileUsage,
                  PeakPagefileUsage, PrivateUsage]);
  end;

  CloseHandle(hProcess);
 end;
end;


← →
maxistent ©   (2006-09-16 21:34) [2]

Теперь не в чем :-) А как получить кол-во дескрипторов (HandleCount) и кол-во потоков (ThreadCount) для опред. процесса по его id ? Ну или может общее их кол-во в системе на тек. момент?


← →
Ketmar ©   (2006-09-16 21:54) [3]

> [2] maxistent ©   (16.09.06 21:34)
WMI.


← →
maxistent ©   (2006-09-17 11:02) [4]

Я не могу использовать WMI. Есть другие предложения?


← →
Ketmar ©   (2006-09-17 11:56) [5]

> [4] maxistent ©   (17.09.06 11:02)
есть. забить.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.047 c
2-1160628993
Serg_e
2006-10-12 08:56
2006.10.29
Как заставить работать tab MDIChild-форме?


1-1158567014
dmitry kholl
2006-09-18 12:10
2006.10.29
Бездействие с программой


15-1160500999
Kolan
2006-10-10 21:23
2006.10.29
Как установить MSDE.


15-1159942031
Курдль
2006-10-04 10:07
2006.10.29
Совсем не в тему Delphi, но такие строки больно берут за душу...


15-1159804291
Piter
2006-10-02 19:51
2006.10.29
Нужно проапгрейдить компьютер для игры в Battlefield-2




   Наверх