تبليغاتX
مرکز تخصصی دلفی - بدست اوردن Memory Usage یک Process

مرکز تخصصی دلفی

این وبلاگ توسط کم سن ترین برنامه نویس ایران مدیریت می «شد»

بدست اوردن Memory Usage یک Process

ار کد زیر استفاده کنید.مثال هم درج شده است:

uses
  psAPI;


//...

function GetProcessMemorySize(_sProcessName: string; var _nMemSize: Cardinal): Boolean;
var//Delphi-center.blogfa.com
  l_nWndHandle, l_nProcID, l_nTmpHandle: HWND;
  l_pPMC: PPROCESS_MEMORY_COUNTERS;
  l_pPMCSize: Cardinal;
begin
  l_nWndHandle := FindWindow(nil, PChar(_sProcessName));

  if l_nWndHandle = 0 then
  begin

    Result := False;
    Exit;
  end;
//Delphi-center.blogfa.com

  l_pPMCSize := SizeOf(PROCESS_MEMORY_COUNTERS);

  GetMem(l_pPMC, l_pPMCSize);
  l_pPMC^.cb := l_pPMCSize;

  GetWindowThreadProcessId(l_nWndHandle, @l_nProcID);
  l_nTmpHandle := OpenProcess(PROCESS_ALL_ACCESS, False, l_nProcID);

  if (GetProcessMemoryInfo(l_nTmpHandle, l_pPMC, l_pPMCSize)) then
    _nMemSize := l_pPMC^.WorkingSetSize
  else
    _nMemSize := 0;

  FreeMem(l_pPMC);

  Result := True;
end;

//Beispiel

مثال:

procedure TForm1.Button1Click(Sender: TObject);
var
  l_nSize: Cardinal;
begin
  if (GetProcessMemorySize('Unbenannt - Editor', l_nSize)) then
    ShowMessage('Size: ' + IntToStr(l_nSize) + ' byte')
//Delphi-center.blogfa.com
  else
    ShowMessage('Error');
end;

+ نوشته شده در  دوشنبه نهم مرداد 1385ساعت 19:5  توسط کوشا نخعی  |