2009-11-06 10 views
14

Che cos'è esattamente che "attiva" Windows per contrassegnare un processo come Non risponde nel Task Manager e Monitoraggio risorse?Cosa fa apparire un processo come Non risponde in Windows?

+4

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

+1

lol. +1 per il commento, mentre scrivo questo su Vista. Tuttavia, probabilmente è stato codificato come ** if (OS = VISTA) {DoNotRespond();} ** :) –

risposta

12

L'API dietro questa è IsHungAppWindow. Fondamentalmente, se l'applicazione non ha pompato un messaggio entro 5 secondi, può essere contrassegnato come non rispondente.

7

Se un processo non raccoglie i messaggi di Windows dalla sua coda utilizzando la funzione o something relatedGetMessage, che verranno contrassegnate come "non risponde" - perché non risponde alle eventi di interfaccia utente.

Ciò non significa necessariamente che l'applicazione sia effettivamente bloccata, ma potrebbe essere troppo impegnata per prestare attenzione all'utente.

1

Fondamentalmente, si entra in uno stato in cui il programma non ritorna a un punto in cui può elaborare la coda dei messaggi.

solito, questo è o un ciclo che non termina o un'operazione di blocco, come leggere da un socket, ecc

+0

Norton Antivirus spesso afferra il mio browser o il mio client di posta elettronica thunderbird e lo blocca in una mancata risposta. È molto fastidioso. – djangofan

+0

La quantità di problemi riscontrati causata dai prodotti Norton mi ha dato cicatrici psicologiche –

+0

per cui si utilizza il nuovo prodotto microsoft o eset nod32;) – Svish

1

Il fatto che non svuotare la coda di messaggi, tramite polling esso GetMessge API e simili.