1.8.3 无人广角自动监控实现过程(2)
(7)处理主窗体中"自动监控"按钮的单击事件,当按钮被按下时创建线程并打开无人广角自动监控模块。代码如下:
- void CCaptureDlg::OnAutomatism()
- {
- CAutodlg dlg;
//CAutodlg类对象 - if(dlg.DoModal()==IDOK)
- {
- DWORD threadID;
- m_hThread = ::CreateThread(NULL,0,ThreadProc,
(LPVOID)this,0,&threadID); //创建线程 - m_Num = dlg.m_Num;
- m_Time = dlg.m_Time;
- if(m_Time)
//判断是否定时监控 - {
- m_StopTime = dlg.stoptime;
//获得关闭时间 - }
- }
- Invalidate();
//刷新窗口 - }
(8)在主窗体的WM_TIMER事件中判断系统时间是否等于停止时间,如果等于则停止定时监控。代码如下:
- if(m_Time) //判断是否定时监控
- {
- CTime time= CTime::GetCurrentTime();
//获得系统当前时间 - if(time == m_StopTime)
//判断系统时间是否等于关闭时间 - {
- OnStop();
//当系统时间等于关闭时间时停止监控 - m_Time = FALSE;
- }
- }