2009-11-06 9 views
14

¿Qué es exactamente lo que "dispara" a Windows para marcar un proceso como No responde en el Administrador de tareas y el Monitor de recursos?¿Qué hace que un proceso aparezca como No responde en Windows?

+4

if (OS == Vista) {DoNotRespond(); } – Inisheer

+1

lol. +1 para el comentario, mientras escribo esto en Vista. Sin embargo, probablemente fue codificado como ** if (OS = VISTA) {DoNotRespond();} ** :) –

Respuesta

12

La API detrás de esto es IsHungAppWindow. Básicamente, si la aplicación no ha enviado un mensaje dentro de 5 segundos, se puede marcar como no respondiendo.

7

Si un proceso no recoge mensajes de Windows de su cola utilizando la función o something relatedGetMessage, que serán marcados como "no responde" - porque no está respondiendo a eventos de interfaz de usuario.

Esto no significa necesariamente que la aplicación esté realmente colgada; puede estar demasiado ocupada para prestar atención al usuario.

1

Básicamente, se lleva a un estado en el que el programa no vuelve a un punto donde puede procesar su cola de mensajes.

Por lo general, esto es, ya sea un bucle que no termina o una operación de bloqueo, tales como la lectura de un enchufe, etc.

+0

Norton Antivirus con frecuencia toma mi navegador o mi cliente de correo Thunderbird y lo bloquea en una respuesta. Es muy molesto. – djangofan

+0

La cantidad de problemas que he encontrado que fueron causados ​​por productos de Norton me ha dado cicatrices psicológicas –

+0

por eso usa el nuevo producto microsoft o eset nod32 en su lugar;) – Svish

1

El hecho de que no vacían su cola de mensajes, mediante el sondeo que GetMessge API y similares.

Cuestiones relacionadas