js获取回调函数返回值 sendmessage与postmessage有什么区别?
sendmessage与postmessage有什么区别?
事实上,你可以通过搜索互联网找到很多答案!在线答案不能让你满意吗?你希望我们让你明白吗?让我告诉你我的理解。希望你能理解。
1. SendMessage您可以将其理解为调用window过程函数。Lresult回调WindowProc(hWnd,hWnd,uint message,wParam wParam,lParam lParam)很容易理解!把它们等同起来。SendMessage调用WindowProc,SendMessage的返回值就是WindowProc的返回值。2.邮件比较麻烦。PostMessage之后,系统会将消息放入程序的消息队列中。然后消息循环(通常在Win32程序中看到)while(GetMessage(.){..DispatchMessage(…);}GetMessage将获得此消息。(对于许多初学者来说,不应该理解这个GetMessage,因为它与我们通常的程序代码执行思想有很大的不同。GetMessage有时会被阻塞,程序就停在那里。什么时候叫,谁叫?--其实,这都是制度问题。当系统发现程序的消息队列中有消息时,它会让程序调用GetMessage取出消息,while循环将继续执行。当涉及到dispatchmessage时,它可以等效于调用windowprocedure函数WindowProc。其思想是:PostMessage=消息进入消息队列-GetMessage取出消息-程序执行dispatchmessage-dispatchmessage相当于调用window procedure函数,所以这两个函数最终都会调用window procedure函数,但是调用PostMessage之前有一些“曲折”的步骤。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。