【发布时间】:2011-01-31 16:53:05
【问题描述】:
我创建了一个处理虚拟键的基本窗口。案例VK_UP 初始化一个从9 倒数的计时器。如果达到 0 或按下 VK_DOWN,则可以停止计时器。问题是,当我用VK_UP 初始化定时器时,程序会停止,直到定时器达到0。我如何用VK_DOWN 中断(停止)定时器?
与往常一样,我尝试了搜索但无济于事。
编辑:这是窗口过程:
unsigned Seconds( 9 );
case WM_KEYDOWN:
{
switch( wParam )
{
case VK_UP:
{
while( Seconds > 0 )
{
wait( 1 );
Seconds--;
}
}
break;
}
break;
}
这是我上面使用的wait( ) 方法:
void wait( unsigned TotalSeconds )
{
clock_t Wait( clock( ) + ( TotalSeconds * CLOCKS_PER_SEC ) );
while( clock( ) < Wait )
{
Sleep( 1 );
}
}
谢谢。
【问题讨论】:
-
如果是windows请加windows或者winapi标签
-
请显示您启动计时器的代码。
标签: c++ winapi timer virtual key