2011-03-16 22 views
6

Si i cola de un mensaje con PostMessage (y lo devolverá verdadero) puedo estar seguro de que con el tiempo la ventana procesará el mensaje a menos que ocurra algún evento catastrófico? (Algo que va a hacer que el programa de todos modos)¿Cuán robustos son los mensajes de Windows?

Respuesta

6

Una vez publicado mensajes don desaparecer de la cola

Uno de nuestros productos es un servicio de Windows que utiliza mensajes de Windows para comunicarse entre hilos y depende en gran medida de ellos. Hasta ahora, el único problema que hemos visto es que si los publica demasiado rápido, la cola simplemente se llena y no acepta más mensajes hasta que alguien comience a agotar la cola.

4

Puede estar seguro de que el mensaje estará en la cola si la llamada al PostMessage() se realiza correctamente.

PostMessage() fallarán si la cola de recepción está llena. MSDN dice:

hay un límite de 10.000 anunciados mensajes por cola de mensajes. Este límite debe ser lo suficientemente grande. Si su aplicación excede el límite, se debe rediseñar para evitar que consuma tantos recursos del sistema. Para ajustar este límite, modifique la siguiente clave de registro .

No puede estar seguro de que los mensajes publicados alguna vez se procesarán porque corresponde a la otra aplicación decidir si se va a bombear la cola de mensajes o no.

Esto es ser un poco pedante porque en realidad una aplicación que nunca bombea sus colas nunca es manejada por nadie a través de un proceso de selección natural.

Cuestiones relacionadas