关于Win32 Console的计时器
这是关于Win32 Console计时器的例子: 你可以使用2种方法进行计时器的实现 第一种是通过系统回调来实现的
C++代码
- void CALLBACK TimeProc(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
- {
- printf_s("The system timer callback . \n");
- }
- int main()
- {
- //Start the timer.
- MMRESULT nIDTimerEvent = timeSetEvent(1000, 0, TimeProc, 0, (UINT)TIME_PERIODIC);
- if( nIDTimerEvent == 0 )
- printf_s("Run the timer is bad . \n\n");
- while(true)
- {
- Sleep(15);
- }
- return 0;
- }
第二种是通过对WM_TIMER的响应,通过消息循环来做,可以用到熟悉的SetTimer.
C++代码
- void CALLBACK TimeProc( HWND hwnd, UINT message, UINT idTimer, DWORD dwTime)
- {
- printf_s("The timer callback .\n");
- }
- int main()
- {
- SetTimer(NULL,1,1000,TimeProc);
- MSG msg;
- while(GetMessage(&msg,NULL,0,0))
- {
- if(msg.message==WM_TIMER)
- {
- DispatchMessage(&msg);
- }
- }
- return 0;
- }
我自己是用的第二种,不过基于时间上的东西还有很多~~~
Categories: Garfield's Diary