Re: Win32 waiting/thread 一個奇怪的問題
※ 引述《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
07/25 05:42, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章