Jak pobrać PID procesu, lub od razu jak pobrać do listy kilka takich samych procesów (gdy mam włączonych kilka takich samych programów, np. notatników)?
notepad napisał(a)
Jak pobrać PID procesu, lub od razu jak pobrać do listy kilka takich samych procesów (gdy mam włączonych kilka takich samych programów, np. notatników)?
ProcessID : Cardinal;
...
GetWindowThreadProcessId(Application.Handle, @ProcessID);
Lista procesów była ze 100 razy na forum, ale że mam coś pod ręką to wkleje
var
FHandle : THandle;
Process : TProcessEntry32;
Next : Boolean;
begin
FHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
try
Process.dwSize := Sizeof(Process);
Next := Process32First(FHandle, Process);
While Next do
Begin{ jesli sciezka dostepu sie zgadza }
If (AnsiLowerCase(Process.szExeFile) = AnsiLowerCase(aExeName)) then
Begin
Result := True;
Break;
End;
Next := Process32Next(FHandle, Process);
End;
finally
CloseHandle(FHandle);
end;
ten kawałek szuka procesu aExeName (notepad.exe)
A jak Cardinal (gdzie mam PID) zmienić na String? Bo głównie z tym mam problem, bo chcę go wyświetlić na ekranie np. w jakimś Labelu.
Z IntToStr się nie nauczyłeś korzystać??