clockdlg.cpp
来自「个人计算机定时自动执行软件,是 一个值得看看的程序。」· C++ 代码 · 共 2,235 行 · 第 1/5 页
CPP
2,235 行
}
else//否则启用默认标准铃声线程
{
_beginthread(beginThreadFunc,0,NULL);
}
switch(((MISSION*)m_MissionArray[i])->choice_actionmode)//执行任务
{
case 0://执行文件
_beginthread(begindofileThread,0,(void*)(((MISSION*)m_MissionArray[i])->choice_actionpath));
break;
case 1://关闭计算机
_beginthread(beginshutdownThread,0,NULL);
break;
case 2://待机
_beginthread(beginpoweroffThread,0,NULL);
break;
case 3://重启
_beginthread(beginrebootThread,0,NULL);
break;
case 4://注销
_beginthread(beginlogoffThread,0,NULL);
break;
}
CAwakeDlg* pDialog= new CAwakeDlg();
if(pDialog != NULL)
{
memcpy((void*)&(pDialog->m_mission),(void*)((MISSION*)m_MissionArray[i]),sizeof(MISSION));
pDialog->number=i;//将第几项数据传给对话框,
pDialog->pclockdlg=this;
BOOL ret = pDialog->Create(IDD_AWAKE_DIALOG,this);
pDialog->ShowWindow(SW_SHOW);
((MISSION*)m_MissionArray[i])->hWin= (long)pDialog;
KillTimer(nIDEvent);
}
}//end minute if
}//end 启用闹铃任务 if
else
{
if(minute==curtime.wMinute)//如果分=当前分
{
//如果设置有启用媒体音乐,则启用播放wav文件音乐线程
if(((MISSION*)m_MissionArray[i])->choice_usingsound==1)
{
_beginthread(beginwavThread,0,(void*)(((MISSION*)m_MissionArray[i])->choice_wavpath));
}
else//否则启用默认标准铃声线程
{
_beginthread(beginThreadFunc,0,NULL);
}
CAwakeDlg* pDialog= new CAwakeDlg();
if(pDialog != NULL)
{
//将数据拷贝给对话框。
memcpy((void*)&(pDialog->m_mission),(void*)((MISSION*)m_MissionArray[i]),sizeof(MISSION));
pDialog->number=i;//将第几项数据传给对话框,
pDialog->pclockdlg=this;
//创建对话框
BOOL ret = pDialog->Create(IDD_AWAKE_DIALOG,this);
//显示对话框
pDialog->ShowWindow(SW_SHOW);
//把窗口句柄赋给hWin,
((MISSION*)m_MissionArray[i])->hWin= (long)pDialog;
KillTimer(nIDEvent);
}
}
}
}
break;
}
//case5///////////////////////////////////////////
case 6://国家法定工作日
{
//判断星期是否为星期一到星期五,如果相等,继续判断小时是否过时
if(curtime.wDayOfWeek>0 && curtime.wDayOfWeek<6 && hour==curtime.wHour)
{
//如果有启用闹铃任务,执行前有提示,则执行提示信息线程
if(((MISSION*)m_MissionArray[i])->choice_usingaction==1 )
{
if(((MISSION*)m_MissionArray[i])->choice_actionhint==1)//执行前有提示
{
int actiontime=((MISSION*)m_MissionArray[i])->choice_actiontime;
int min_minute;
min_minute=minute;
min_minute=min_minute-1;//有提示,则分钟减1
int second=60-actiontime;
if(curtime.wMinute==min_minute && curtime.wSecond==second)//当时间与秒到时后,运行提示线程
{
int actionmode=((MISSION*)m_MissionArray[i])->choice_actionmode;
_beginthread(beginactionThread,0,(void*)actionmode);
}
}
else
{
}
if(minute==curtime.wMinute)//如果分=当前分
{
//如果设置有启用媒体音乐,则启用播放wav文件音乐线程
if(((MISSION*)m_MissionArray[i])->choice_usingsound==1)
{
_beginthread(beginwavThread,0,(void*)(((MISSION*)m_MissionArray[i])->choice_wavpath));
}
else//否则启用默认标准铃声线程
{
_beginthread(beginThreadFunc,0,NULL);
}
switch(((MISSION*)m_MissionArray[i])->choice_actionmode)//执行任务
{
case 0://执行文件
_beginthread(begindofileThread,0,(void*)(((MISSION*)m_MissionArray[i])->choice_actionpath));
break;
case 1://关闭计算机
_beginthread(beginshutdownThread,0,NULL);
break;
case 2://待机
_beginthread(beginpoweroffThread,0,NULL);
break;
case 3://重启
_beginthread(beginrebootThread,0,NULL);
break;
case 4://注销
_beginthread(beginlogoffThread,0,NULL);
break;
}
CAwakeDlg* pDialog= new CAwakeDlg();
if(pDialog != NULL)
{
memcpy((void*)&(pDialog->m_mission),(void*)((MISSION*)m_MissionArray[i]),sizeof(MISSION));
pDialog->number=i;//将第几项数据传给对话框,
pDialog->pclockdlg=this;
BOOL ret = pDialog->Create(IDD_AWAKE_DIALOG,this);
pDialog->ShowWindow(SW_SHOW);
((MISSION*)m_MissionArray[i])->hWin= (long)pDialog;
KillTimer(nIDEvent);
}
}//end minute if
}//end 启用闹铃任务 if
else
{
if(minute==curtime.wMinute)//如果分=当前分
{
//如果设置有启用媒体音乐,则启用播放wav文件音乐线程
if(((MISSION*)m_MissionArray[i])->choice_usingsound==1)
{
_beginthread(beginwavThread,0,(void*)(((MISSION*)m_MissionArray[i])->choice_wavpath));
}
else//否则启用默认标准铃声线程
{
_beginthread(beginThreadFunc,0,NULL);
}
CAwakeDlg* pDialog= new CAwakeDlg();
if(pDialog != NULL)
{
//将数据拷贝给对话框。
memcpy((void*)&(pDialog->m_mission),(void*)((MISSION*)m_MissionArray[i]),sizeof(MISSION));
pDialog->number=i;//将第几项数据传给对话框,
pDialog->pclockdlg=this;
//创建对话框
BOOL ret = pDialog->Create(IDD_AWAKE_DIALOG,this);
//显示对话框
pDialog->ShowWindow(SW_SHOW);
//把窗口句柄赋给hWin,
((MISSION*)m_MissionArray[i])->hWin= (long)pDialog;
KillTimer(nIDEvent);
}
}
}
}
break;
}
}//end switch
}
///////////////////////////////////////////
///////////////////////////////////////////
///////////////////////////////////////////
///////////////快速定时///////
if(nIDEvent==100)//一分钟快速定时计时器
{
m_onetimecount++;
if(m_onetimecount==60)
{
_beginthread(beginThreadFunc,0,NULL);
KillTimer(nIDEvent);
m_one=0;
m_onetimecount=0;
}
}
if(nIDEvent==101)//五分钟快速定时计时器
{
m_fivetimecount++;
if(m_fivetimecount==300)
{
_beginthread(beginThreadFunc,0,NULL);
KillTimer(nIDEvent);
m_five=0;
m_fivetimecount=0;
}
}
if(nIDEvent==102)//十分钟快速定时计时器
{
m_tentimecount++;
if(m_tentimecount==600)
{
_beginthread(beginThreadFunc,0,NULL);
KillTimer(nIDEvent);
m_ten=0;
m_tentimecount=0;
}
}
if(nIDEvent==103)//二十分钟快速定时计时器
{
m_twentytimecount++;
if(m_twentytimecount==1200)
{
_beginthread(beginThreadFunc,0,NULL);
KillTimer(nIDEvent);
m_twenty=0;
m_twentytimecount=0;
}
}
if(nIDEvent==104)//三十分钟快速定时计时器
{
m_thirtytimecount++;
if(m_thirtytimecount==1800)
{
_beginthread(beginThreadFunc,0,NULL);
KillTimer(nIDEvent);
m_thirty=0;
m_thirtytimecount=0;
}
}
if(nIDEvent==105)//四十五分钟快速定时计时器
{
m_fortyfivetimecount++;
if(m_fortyfivetimecount==2700)
{
_beginthread(beginThreadFunc,0,NULL);
KillTimer(nIDEvent);
m_fortyfive=0;
m_fortyfivetimecount=0;
}
}
//////////////////////////////
if(nIDEvent==106)//一小时记数器
{
m_onehcount++;
if(m_onehcount==3600)
{
_beginthread(beginThreadFunc,0,NULL);
KillTimer(nIDEvent);
m_oneh=0;
m_onehcount=0;
}
}
if(nIDEvent==107)//二小时记数器
{
m_twohcount++;
if(m_twohcount==7200)
{
_beginthread(beginThreadFunc,0,NULL);
KillTimer(nIDEvent);
m_twoh=0;
m_twohcount=0;
}
}
if(nIDEvent==108)///三小时记数器
{
m_threehcount++;
if(m_threehcount==10800)
{
_beginthread(beginThreadFunc,0,NULL);
KillTimer(nIDEvent);
m_threeh=0;
m_threehcount=0;
}
}
if(nIDEvent==109)/////六小时记数器
{
m_sixhcount++;
if(m_sixhcount==21600)
{
_beginthread(beginThreadFunc,0,NULL);
KillTimer(nIDEvent);
m_sixh=0;
m_sixhcount=0;
}
}
if(nIDEvent==110)///////九小时记数器
{
m_ninehcount++;
if(m_ninehcount==32400)
{
_beginthread(beginThreadFunc,0,NULL);
KillTimer(nIDEvent);
m_nineh=0;
m_ninehcount=0;
}
}
if(nIDEvent==111)/////十二小时记数器
{
m_twelvehcount++;
if(m_twelvehcount==43200)
{
_beginthread(beginThreadFunc,0,NULL);
KillTimer(nIDEvent);
m_twelveh=0;
m_twelvehcount=0;
}
}
if(nIDEvent==112)///////十五小时记数器
{
m_fifteenhcount++;
if(m_fifteenhcount==43200)
{
_beginthread(beginThreadFunc,0,NULL);
KillTimer(nIDEvent);
m_fifteenh=0;
m_fifteenhcount=0;
}
}
/////////////////////////////////////////////////////////////////////
if(nIDEvent==120)///////快速定时器记数器
{
m_count0++;
if(m_count0==m_countsecond0)
{
_beginthread(beginThreadFunc,0,NULL);
CQuickdlg* pDialog= new CQuickdlg();
if(pDialog != NULL)
{
//将数据拷贝给对话框。
memcpy((void*)&(pDialog->m_quick),(void*)(&quick0),sizeof(QUICK));
//创建对话框
BOOL ret = pDialog->Create(IDD_QUICK_DIALOG,this);
//显示对话框
pDialog->ShowWindow(SW_SHOW);
KillTimer(nIDEvent);
}
m_setquickdef0=0;
}
}
if(nIDEvent==121)///////快速定时器记数器
{
m_count1++;
if(m_count1==m_countsecond1)
{
_beginthread(beginThreadFunc,0,NULL);
CQuickdlg* pDialog= new CQuickdlg();
if(pDialog != NULL)
{
//将数据拷贝给对话框。
memcpy((void*)&(pDialog->m_quick),(void*)(&quick1),sizeof(QUICK));
//创建对话框
BOOL ret = pDialog->Create(IDD_QUICK_DIALOG,this);
//显示对话框
pDialog->ShowWindow(SW_SHOW);
KillTimer(nIDEvent);
}
m_setquickdef1=0;
}
}
if(nIDEvent==122)///////快速定时器记数器
{
m_count2++;
if(m_count2==m_countsecond2)
{
_beginthread(beginThreadFunc,0,NULL);
CQuickdlg* pDialog= new CQuickdlg();
if(pDialog != NULL)
{
//将数据拷贝给对话框。
memcpy((void*)&(pDialog->m_quick),(void*)(&quick2),sizeof(QUICK));
//创建对话框
BOOL ret = pDialog->Create(IDD_QUICK_DIALOG,this);
//显示对话框
pDialog->ShowWindow(SW_SHOW);
KillTimer(nIDEvent);
}
m_setquickdef2=0;
}
}
if(nIDEvent==123)///////快速定时器记数器
{
m_count3++;
if(m_count3==m_countsecond3)
{
_beginthread(beginThreadFunc,0,NULL);
CQuickdlg* pDialog= new CQuickdlg();
if(pDialog != NULL)
{
//将数据拷贝给对话框。
memcpy((void*)&(pDialog->m_quick),(void*)(&quick3),sizeof(QUICK));
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?