Hallo und Danke für die schnellen Antworten...
@ Luckie
Zitat:
Was sind den alle Prozesse? Und welchen Code verwendest du bisher?
Ich verwende hierfür bisher folgende procedure:
Delphi-Quellcode:
procedure TProcess_Unit._updateProcess;
var tmpList : TStringList;
{-} function ProcessList:TStringList;
var PrIDs : array [0..1000] of DWORD;
PrName : array [0..255] of Char;
Bia : DWORD;
i, PrCount : Integer;
ProzessHandle : HWND;
Modulhandle : HWND;
{-} begin
result:=TStringList.Create;
//result.Add('<>');
if EnumProcesses(@PrIDs, SizeOf(PrIDs), bia) then begin
if (Bia < sizeof(PrIDs)) then begin
PrCount:=Bia div SizeOf(DWORD);
for i:=0 to PrCount do begin
ProzessHandle:=OpenProcess(PROCESS_QUERY_INFORMATION or
PROCESS_VM_READ, False, PrIDS[i]);
if (ProzessHandle <> 0) then begin
EnumProcessModules(ProzessHandle,
@ModulHandle,
SizeOf(modulhandle),
Bia);
GetModuleFilenameEx(Prozesshandle,
ModulHandle,
PrName,
SizeOf(PrName));
result.Add(ExtractFileName(PrName)+
' --> '+
ExtractFilePath(PrName));
//result.Add(PrName);
//result.Add(ExtractFileName(PrName));
CloseHandle(ProzessHandle);
end;
end; {for i}
end else begin
MessageDlg('PrID-Array zu klein', mtError, [mbOk], 0)//if bia < sizeof...
end;
end else begin
RaiseLastOSError(); //if enumprocesses...
end;
{-} end;
begin
tmpList:=ProcessList;
try LBProcessList.items.assign(tmpList);
finally
tmpList.Free;
end; {finally}
Caption:=prvCaption+_retTaskRunning(LBProcessList.Count);
end;
und hier rufe ich die procedure auf:
Delphi-Quellcode:
....
{-}
LBProcessList.Clear;
LBProcessList.MultiSelect:=True;
bevProcessList.SetBounds(8,8,4*bDX-4,bTop-bDY-16);
LBProcessList.SetBounds(8+2,8+2,4*bDX-8,bTop-bDY-20);
LBProcessList.ScrollWidth:=AWidth;
LBProcessList.Sorted:=True;
LBProcessList.ShowHint:=AisAllowHints;
LBProcessList.Hint:=_retHint(062); {-062: Running Tasks Under Your Login-}
{-}
_updateProcess;
{-}
....
@Delphi-Laie
Zitat:
Für die Prozesse gibt es den Prozeßschnappschuß („ProcessSnapShot“).
ich werde das mal ausprobieren und mich dann wieder melden.
Vielen Dank für die prompte Hilfe.
Mit freundlichen Grüßen
Manfred Zenns