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)