подскажите, кто в курсе....
использую CreateToolhelp32Snapshot для получения имени экзе файла процесса, пример взят из инета, вроде все работает - имя возвращается.
но при каждом вызове этого кода похоже происходит утечка памяти, т.е. свободная память уменьшается на 1-3 мб.
это ошибка в коде или "нормальная" работа? и есть ли какой еще способ получить в итоге хендл окна по пид процесса?
исходный код:
try
FSnapshotHandle := CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
Result := '';
while (Integer (ContinueLoop) <> 0) and (Result='') do
begin
if ((FProcessEntry32.th32ProcessID = ProcID) and (FProcessEntry32.th32ParentProcessID=0))
then
begin
Result := FProcessEntry32.szExeFile;
break;
end;
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
finally
Windows.CloseHandle(FSnapshotHandle);
end;