看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《yoll522 (yolling)》之銘言: : 所以我想說改程式來試試看就直接發送SendMessage(WM_PAINT) : 結果當人物一移動的時候就當了 : 我上網查原因,查到的都只有說不可以這樣做 : 可是都沒有人說為什麼不能這樣做@@ : 因此想請問一下為何這樣做不行呢? SendMessage()這個函數會一直block到對方的MessagePump處理完這個message才會return 通常用在需要確定時間順序的東西,等對方做完再進行下一步。 因此如果你在MessagePump中對自己SendMessage(),你的pump就會一直等SendMessage() 結束,可是pump被卡住了永遠輪不到你送出去的message所以SendMessage()不會結束。 結果就是當機。 解決的方法是改用PostMessage()或是把要做的事記起來離開pump再處理。 不過這對閃爍沒有任何幫助就是了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.69.136
yoll522:原來如此,這樣我了解了。 謝謝你的說明 05/05 23:06