一个汇编的小问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 20:14:04
.while TRUE
invoke GetMessage,addr @stMsg,NULL,0,0
.break .if eax == 0
invoke TranslateMessage,addr @stMsg
invoke DispatchMessage,addr @stMsg
.endw
ret

_WinMain endp
这是设置消息循环的
有谁能帮我解释一下每个语句是什么意思

相当于下面的C代码
MSG stMsg;
while(GetMessage(&stMsg,NULL,0,0))
{
TranslateMessage(&stMsg);
DispatchMessage(&stMsg);
}

就是检查消息队列,如果有消息的话就处理消息,没有消息的话一直等待,
GetMessage函数在没有消息的时候是不会返回的