Возвращает на 1 процесс больше чем есть.
CODE:string Name[1000];
int Pid[1000];
int count=listprocess (#Name[0], #Pid[0]);
messagebox("Всего найдено процессов: "+format(count));
messagebox(Pid[count-2]); // предпоследний
messagebox(Pid[count-1]); // последний равен предпоследнему, по факту лишний
external(INT, "EnumProcesses", "EnumProcesses", "Psapi.dll");
int idProcess[1000];
int cbNeeded;
EnumProcesses(address(#idProcess[0]), sizearray(idProcess)*4, address(#cbNeeded));
count = cbNeeded / 4; // всего найдено процессов
messagebox("Всего найдено процессов: "+format(count)); |