Добрый день . В общем есть код:
int PIDByName(AnsiString AProcessName)
{
HANDLE pHandle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 ProcessEntry;
int pid;
ProcessEntry.dwSize = sizeof(ProcessEntry);
bool Loop = Process32First(pHandle, &ProcessEntry);
while (Loop)
{
if (ProcessEntry.szExeFile == AProcessName)
{
pid = ProcessEntry.th32ProcessID;
CloseHandle(pHandle);
return pid;
}
Loop = Process32Next(pHandle, &ProcessEntry);
}
CloseHandle(pHandle);
return 0;
}
Вызываю в таймере :
Edit2->Text = PIDByName("Project2.exe");
Он все корректно выводит , но если я запущу 2 одинаковые программы допустим 2 шт Project2.exe - то он выводит PID только одного , пока я не закрою первую программу .
Ребят подскажите пожалуйста , как можно сделать так , что бы он выводил в переменную допустим PID одного процесса , а так же последующих ? Наверно цикл как то по другому ?