M
Matt Gilarde
Guest
You successfully volunteered me. Here it is: &SCOPED-DEFINE PM_NOREMOVE 0 PROCEDURE PeekMessageA EXTERNAL "user32.dll" : DEFINE INPUT PARAMETER lpmsg AS MEMPTR. DEFINE INPUT PARAMETER hWnd AS LONG. DEFINE INPUT PARAMETER wMsgFilterMin AS LONG. DEFINE INPUT PARAMETER wMsgFilterMax AS LONG. DEFINE INPUT PARAMETER wRemoveMsg AS LONG. DEFINE RETURN PARAMETER lResult AS LONG. END PROCEDURE. DEFINE VARIABLE Msg AS MEMPTR. DEFINE VARIABLE lResult AS INTEGER. SET-SIZE(Msg) = 48. /* big enough for 64-bit */ /* This call to PeekMessage will not remove posted messages from the ** message queue. The one side effect I am aware of is that messages ** that were sent from another process using SendMessage will be ** dispatched before PeekMessage returns, but the same is true of ** any code that processes messages. Since you have to process ** messages to tell Windows you're awake, this seems like an ** unavoidable (and relatively rare) side effect. */ RUN PeekMessageA(Msg, 0, 0, 0, {&PM_NOREMOVE}, OUTPUT lResult).
Continue reading...
Continue reading...