В чем именно "триггеры" Windows отмечают процесс, который не отвечает в диспетчере задач и мониторе ресурсов?
Что заставляет процесс отображаться как "Не реагировать в Windows"?
Ответ 1
API за этим IsHungAppWindow. В принципе, если приложение не закачило сообщение в течение 5 секунд, оно может быть отмечено как не отвечающее.
Ответ 2
Если процесс не собирает сообщения Windows из своей очереди с помощью GetMessage
или что-то связанное, оно будет помечено как "не отвечающее" - потому что оно не отвечает на события пользовательского интерфейса.
Это не обязательно означает, что приложение фактически висит - оно может быть слишком занято, чтобы обратить внимание на пользователя.
Ответ 3
В принципе, он получает его в состояние, когда программа не возвращается в точку, где она может обрабатывать очередь сообщений.
Обычно это либо цикл, который не заканчивается, либо операция блокировки, такая как чтение из сокета и т.д.
Ответ 4
Тот факт, что они не освобождают очередь сообщений, опросив его API GetMessge и т.п.