Re: Win32 waiting/thread 一個奇怪的問題

看板Programming作者 (眠月)時間18年前 (2006/07/25 01:16), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《yoco.bbs@bbs.wretch.cc (眠月..)》之銘言: : 問題! 這個 SomeApiInDLL() 就是很久很久後才會 return 值, : 可是! 在等待 SomeApiInDLL return 的過程當中 : [Hello] 這個按鈕卻“可以按”!!! : 完全不會被卡住 自己回自己 我用 Google 蒐 "C++ DoEvents" 找到的答案 結果真是簡單的令人吐血 XD 類似 VB 的 DoEvents() ============================================================ void DoEvents() { MSG msg ; long sts ; do { if ( sts = ::PeekMessage ( &msg, (HWND)NULL, 0, 0, PM_REMOVE) ) { ::TranslateMessage ( &msg ) ; ::DispatchMessage ( &msg ) ; } } while ( sts ) ; } ============================================================ void SomeLoopWaitFunction() { while ( sensor ) { DoEvents() ; Sleep ( 100 ) ; // minimize CPU loading } ============================================================ 想了半天想不到, 結果原來根本就是在裡面自己另外弄一個 message loop XDDDDDDD 我敗啦。 -- To iterate is human, to recurse is divine. 遞迴只應天上有, 凡人該當用迴圈.   L. Peter Deutsch -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.202.199

07/25 05:42, , 1F
simple is beauty XD
07/25 05:42, 1F
文章代碼(AID): #14nG1_oI (Programming)
文章代碼(AID): #14nG1_oI (Programming)