API - WaitMessage

epko
16 de Marzo del 2010
¿Alguien sabría porqué el WaitMessage de la siguiente situación no funciona?:

Proyecto VB6

Declaro la función:

Private Declare Function WaitMessage Lib "user32" () As Long
Private Declare Function GetQueueStatus Lib "user32" (ByVal fuFlags As Long) As Long

Declaro todas las constantes asociadas a SendMessage y WaitMessage, y entre ellas:

Const QS_SENDMESSAGE = &H40

En el proc Private Sub Form_Load(), pongo:

MsgBox Str(GetQueueStatus(QS_SENDMESSAGE))
'Sigue = WaitMessage
WaitMessage
MsgBox "Ha pasado"

Y el resultado es que aparece el primer MsgBox con cero como contenido de la cola, y directamente, al aceptar ese MsgBox, sale el segundo diciendo que "ha pasado" por el WaitMessage sin que le mandara ningún mensaje, o sea, que se lo ha saltado.

La linea Sigue = WaitMessage puesta activa también produce lo mismo. La variable Sigue la he declarado como Long.

Entiendo que WaitMessage debería producir la suspensión de la ejecución hasta que le llegue un mensaje enviado p. ej. con SendMessage.

¿Alguien sabría qué puede pasar?

Gracias