功能:
1. 欲实现一个定时执行特定任务的程序,执行时间由一个CTimeCtrl设定,到了指定时间后,便启动任务。
代码:
1. 启动定时器代码:
if (!SetTimer(1,1000,NULL)) {
MessageBox(_T("Error: SetTimer failed!"));
return -1;
}
2. OnTimer代码:
CTime tTime;
((CDateTimeCtrl*)GetDlgItem(IDC_DATETIME))->GetTime(tTime);
if(tTime==CTime::GetCurrentTime()){
DoCommand();
}
CDialog::OnTimer(nIDEvent);
问题:
1. 如果将SetTimer(1,1000,NULL):将时间间隔设为1000ms,则会发生有时任务得不到执行的情况,而将间隔时间设为500ms,每次又会连续执行两次。请问这种情况应该如何解决???
1. 欲实现一个定时执行特定任务的程序,执行时间由一个CTimeCtrl设定,到了指定时间后,便启动任务。
代码:
1. 启动定时器代码:
if (!SetTimer(1,1000,NULL)) {
MessageBox(_T("Error: SetTimer failed!"));
return -1;
}
2. OnTimer代码:
CTime tTime;
((CDateTimeCtrl*)GetDlgItem(IDC_DATETIME))->GetTime(tTime);
if(tTime==CTime::GetCurrentTime()){
DoCommand();
}
CDialog::OnTimer(nIDEvent);
问题:
1. 如果将SetTimer(1,1000,NULL):将时间间隔设为1000ms,则会发生有时任务得不到执行的情况,而将间隔时间设为500ms,每次又会连续执行两次。请问这种情况应该如何解决???
解决方案 »
- SetTimer()中的回调函数怎样使用??
- 对话框程序问题
- 类中重载的消息如何给Dialog传值
- 求一个卡尔曼滤波器算法~c/c++/c#的都可以。但关键是要可靠清晰点的!!
- MultiByteToWideChar编译出错
- 请问如果dll出现内存泄漏,程序算不算有问题
- 一个tcp包, 如何判断这个包是否是明文, 就是说可以直接转换为char *或wchar * 的字符串.
- 我已经用HOOK截获wsock32.dll的recv(),但截来的有用的数据都是一堆堆的数据包,如何分析这些数据包呢?
- 为什么这个对话框不能关闭?请高手帮忙!
- 找出一组数字的简单数学关系
- 如何判断网络连接状态?
- 关于任务栏中图标的编程问题
The timeSetEvent function starts a specified timer event. The multimedia timer runs in its own thread. After the event is activated, it calls the specified callback function or sets or pulses the specified event object.MMRESULT timeSetEvent(
UINT uDelay,
UINT uResolution,
LPTIMECALLBACK lpTimeProc,
DWORD_PTR dwUser,
UINT fuEvent
);