Esperando mensajes en código administrado
-
06-07-2019 - |
Pregunta
Esto está estrechamente relacionado con una pregunta anterior .
En el mundo administrado:
- ¿Cómo verifico si el hilo actual tiene mensajes en su cola de mensajes?
- ¿Cómo cedo al sistema operativo y espero para un mensaje en el hilo actual (como GetMessage o WaitMessage)?
Estoy buscando los equivalentes administrados sin PInvoke.
Solución
Puede usar la función función AddMessageFilter.
No creo que haya una forma de bloqueo de cómo hacerlo sin P / Invoke, ya que está más allá de las intenciones de .NET.
Otros consejos
Puede anular WndProc y luego activar su propio evento cuando se lo llame. Esto, por supuesto, no estaría bloqueando. Si desea bloquear hasta un mensaje, podría tener un método en otro hilo esperando en un objeto de sincronización y hacer que WndProc señale ese objeto.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow