Einzelnen Beitrag anzeigen

Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#3

Re: Frage zu GetProcessMemoryInfo

  Alt 17. Sep 2006, 03:48
Hi,

dank dir. Mein Code sieht jetzt so aus:

Delphi-Quellcode:
function TfoMain.ShowMemoryUsage(ProcessId: DWORD): DWORD;
var
  hProcess: THandle;
  PMC: PPROCESS_MEMORY_COUNTERS;
  cb: Integer;
begin
  Result := 0;
  cb := SizeOf(PMC);
  GetMem(PMC, cb);
  try
    PMC^.cb := cb;
    hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, ProcessId);
    begin
      if ( hProcess = 0 ) then
        Exit;
      if ( GetProcessMemoryInfo(hProcess, @PMC, SizeOf(PMC)) ) then
        Result := (PMC^.WorkingSetSize Div 1024)
      else
        ShowMessage(SysErrorMessage(GetLastError));
    end;
  finally
    CloseHandle(hProcess);
    FreeMem(PMC, SizeOf(_PROCESS_MEMORY_COUNTERS));
  end;
end;
und ich bekomme diesen Fehler:

Zitat:
---------------------------
Processviewer
---------------------------
The data area passed to a system call is too small
---------------------------
OK
---------------------------
Woran liegt das jetzt?
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat