vc怎么求时间差

来源:百度知道 编辑:UC知道 时间:2024/09/20 06:58:05
我写了个程序,要实现点击按钮后,然后再过十五分钟就弹出一个对话框。这个功能要怎么实现?求完整代码。谢谢。
如果要过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就好