vc怎么求时间差
来源:百度知道 编辑:UC知道 时间:2024/09/20 06:58:05
我写了个程序,要实现点击按钮后,然后再过十五分钟就弹出一个对话框。这个功能要怎么实现?求完整代码。谢谢。
如果要过3个小时呢?这样也用定时器?有没有别的方法?
如果要过3个小时呢?这样也用定时器?有没有别的方法?
SetTimer( hWnd, 1, 1000*60*15, NULL);
定义一个15分钟的定时器(1000 就是一秒,100就是0.1秒),NULL比表示不使用函数过程,相应WM_TIMER 消息。 hWnd 为窗口的句柄,此窗体接受WM_TIMER 消息. 也就是说你的要没一秒重运行的东西放到这个消息的过程里就行了。
(
例如
…………
case WM_TIMER : //假如这是一个消息循环处理过程。。
MessageBox(hWnd,…………); //没秒钟出来一个提示框
break;
)
1 为定时器标号,用于不需要定时器时调用 KillTimer释放。
最好以下代码在线程中执行,以免造成程序阻塞。
BOOL bAbort = FALSE;//全局变量控制线程结束
int nMinutes = 你要设定的时间间隔,是分钟;
//线程中的代码如下
int nCurrent = 0;
do
{
nCurrent++;
if(nCurrent>=nMinutes*60)
{
AfxMessageBox("你要弹出的信息");
bAbort = TRUE;// 停止循环
}
sleep(1000);
}while(!bAbort);
//如想中途停止,只需将 bAbort = TRUE就好