[問題] console模式使用Timer(已解決)

看板C_and_CPP (C/C++)作者 (大雄)時間16年前 (2010/04/14 22:57), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 在console模式下使用SetTimer沒有反應 哭哭 希望得到的正確結果: 可以使用Timer 程式跑出來的錯誤結果: Timer沒反應~ 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) VC++ 有問題的code: (請善用置底文標色功能) void CALLBACK MyTimer1(HWND hwnd,UINT uMsg,UINT_PTR idEvent,DWORD dwTime){ cout << "MyTimer1" << endl ; } int main(){ time_t a = clock() ; UINT t = SetTimer(NULL, 1, 1000, (TIMERPROC)MyTimer1) ; while(clock()-a<10000){ } KillTimer(NULL, 1) ; system("pause") ; return 0 ; } 補充說明: 還是說Console無法使用SetTimer? 有其他替代方案嗎? 已找到解決方法: int main(){ time_t a = clock() ; MSG msg ; UINT t = SetTimer(NULL, 1, 1000, (TIMERPROC)MyTimer1) ; while(clock()-a<10000){ GetMessage(&msg, NULL, 0, 0) ; DispatchMessage(&msg) ; } KillTimer(NULL, 1) ; system("pause") ; return 0 ; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.23.163

04/15 01:33, , 1F
CALLBACK是"MyTimer" SetTimer裡的卻是"MyTimer1"
04/15 01:33, 1F

04/15 01:37, , 2F
複製貼上 忘了改變數?
04/15 01:37, 2F

04/16 00:14, , 3F
阿阿抱歉 是忘記改變數 是MyTimer1沒錯
04/16 00:14, 3F
※ 編輯: taiwan2000 來自: 118.171.73.212 (04/16 00:14) ※ 編輯: taiwan2000 來自: 140.128.88.208 (04/17 13:50)
文章代碼(AID): #1BnTVVJ6 (C_and_CPP)
文章代碼(AID): #1BnTVVJ6 (C_and_CPP)