Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Как узнать количество окрытых Handles для процесса |
Автор: Gradov 24.3.2009, 17:31 |
В менеджерах процессов, таких как Process Explorer, Task Info есть возможность увидеть кол-во открытых HANDLES для процесса. Как это можно сделать програмно? |
Автор: azesmcar 24.3.2009, 17:41 |
http://msdn.microsoft.com/en-us/library/ms682489(VS.85).aspx Process32Next возвращяет структуру..там есть все что надо |
Автор: Gradov 24.3.2009, 17:57 | ||
Где здесь кол-во HANDLES? Не нашел. |
Автор: azesmcar 24.3.2009, 18:03 | ||
Gradov неправильно помнил значит.. http://msdn.microsoft.com/en-us/library/ms683214(VS.85).aspx
это пойдет? |
Автор: Gradov 24.3.2009, 18:32 |
Отлично, то что надо. ![]() azesmcar, а попутно не в курсе из-за чего может расти кол-во HANDLES в приложении. Если я точно все их закрываю с помощью CloseHandle, 10 раз проверял если HANDLE открывается, то обязательно есть CloseHandle. Но в процессе работы программы кол-во HANDLES равномерно растет, с чего бы это? |
Автор: jonie 24.3.2009, 22:55 | ||
растет всегда? быть может винда чего там у себя кеширует?.. провел тест:
было 8 стало 9 потом 8. Заметьте, что количество изначально не нуль.... можно копануть IDAой) |
Автор: azesmcar 25.3.2009, 12:46 | ||
не забывай что твой процесс делает не только то что ты ему приказал, он подгружает библиотеки для АПИ которые ты используешь (это тоже хендл)..так что вполне возможно, а в чем собственно проблема? |
Автор: Gradov 25.3.2009, 15:59 | ||
Ну если так пускай равномерно увеличиваются. Да проблемы собственно нет пока, работаю на предупреждение. Еще раз говорю - чтобы нормально программа работала, без ошибок. А то если начнут handles прибавляться в неуёмном кол-ве - долбанет исключение и в общем программа может и зависнуть и полететь. |
Автор: Unudiop 2.12.2022, 00:10 |
Модератор: Сообщение скрыто. |