PostMessage和SendMessage區別

PostMessage 只是把消息放入隊列,無論其餘程序是否處理都返回,而後繼續執行 ;
SendMessage 必須等待其餘程序處理消息後才返回,繼續執行。函數


PostMessage 的返回值表示 PostMessage 函數執行是否正確 ;
而 SendMessage 的返回值表示其餘程序處理消息後的返回值。
使用這兩個發送消息函數的最重要的是要看你的程序是否要對消息的滯後性關注否 ,PostMessage 會形成消息的滯後性 , 而 SendMessage 則不會 , 但若是 SendMessage 消息處理失敗 , 則會形成程序中止 !指針

在使用PostMessage()發送消息,並向消息處理函數傳遞指針或者引用結構的時候,請必定考慮結構或者指針指向的實例是否在消息處理函數執行時還有效,使用局部的結構做爲消息參數傳遞,不當心就會出現這種野指針錯誤,並且不容易查明緣由。所以,PostMessage()的參數儘量避免使用局部的結構變量做爲參數.隊列

相關文章
相關標籤/搜索