Hallo Leute,
hier mal einwenig Code
Die Function die den
RAM eines Prozesses ausliest.
Delphi-Quellcode:
procedure TMainForm.CheckRam;
var
_MemInfo: TProcessMemoryCounters;
_Process: HWND;
_ram: Cardinal;
begin
FRamAlarm := FALSE;
Label17.Caption := '
0 MB';
if FProcId = 0
then
Exit;
_Process := OpenProcess(PROCESS_QUERY_INFORMATION, False, FProcId);
if _Process <> 0
then
try
if GetProcessMemoryInfo(_Process, @_MemInfo, SizeOf(_MemInfo))
then
begin
_ram:= _MemInfo.WorkingSetSize;
Label17.Caption:= IntToStr(Trunc(_ram / 1024 / 1024)) + '
MB';
FRamAlarm:= seRAM.Value < Trunc(_ram / 1024 / 1024);
if FRamAlarm
then
AddLog(SX_RAM, '
RAM is used more than = ' + IntToStr(seRAM.Value) + '
, used = ' + IntToStr(Trunc(_ram / 1024 /1024)));
end;
finally
CloseHandle(_Process);
end;
end;
Das funktioniert auch solang der Prozess (Anwendung) unter dem gleichen Benutzer läuft.
Was muss ich tun um an den Prozess eines anderen Benutzers zu kommen?
Gruss
MG