to enumerate all running processes, use EnumProcesses in PsApi.pas....just create a big longword array (it's not predictable how many processes are running at time when you invoke it)....it will fill the array with process ids.... to obtain a handle for the process, call OpenProcess....then you can do whatever you like with the process....