> I am sure Microsoft sit up at night sobbing silently while wiping away the tear stains because of your dissatisfaction with ML64
And you got your response with ML64.
I did make the point with Kang Su Gatlin that ML.EXE should not be combined with a 64 bit version. ML workes well in 32 bit, no reason to mess it up with another OS environment. I would not have complained if they had have spent the development time with call automation and high level control flow directives but I can live without the and with Vasily's macros and my own, I don't have to.
msgloop proc
LOCAL msg :MSG
LOCAL pmsg :QWORD
mov pmsg, ptr$(msg) ; get the msg structure address
jmp gmsg ; jump directly to GetMessage()
mloop:
.switch msg.message
.case WM_KEYUP
.switch msg.wParam
.case VK_F1
invoke SendMessage,hWnd,WM_COMMAND,300,0
.endsw
.endsw
invoke TranslateMessage,pmsg
invoke DispatchMessage,pmsg
gmsg:
test rax, function(GetMessage,pmsg,0,0,0) ; loop until GetMessage returns zero
jnz mloop
ret
msgloop endp