clockdlg.cpp
来自「个人计算机定时自动执行软件,是 一个值得看看的程序。」· C++ 代码 · 共 2,235 行 · 第 1/5 页
CPP
2,235 行
{
_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();//创建一个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;
}
m_cyclecount=0;//因为循环提醒,每次提醒后,必须赋0,否则下次提醒就出错。
}
}//end 启用闹铃任务 if
else//如果没有启用任务,
{
if(m_cyclecount==cycle)//如果分=当前分
{
//如果设置有启用媒体音乐,则启用播放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();//创建一个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;
}
m_cyclecount=0;//因为循环提醒,每次提醒后,必须赋0,否则下次提醒就出错。
}
}
break;
}
//case1///////////////////////////////////////////
case 2://每天同一时间
{
//不判断年月日
if(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);
((MISSION*)m_MissionArray[i])->hWin= (long)pDialog;
KillTimer(nIDEvent);
}
}//end minute
}//end else
}//end hour if
break;
}
//case2///////////////////////////////////////////
case 3://每周同一时间
{
if(week==curtime.wDayOfWeek && 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);
((MISSION*)m_MissionArray[i])->hWin= (long)pDialog;
KillTimer(nIDEvent);
}
}
}
}
break;
}
//case3///////////////////////////////////////////
case 4://每月同一时间
{
//判断设置的年日是否与当前的年日相等,如果相等,继续判断小时是否过时,
if(year>=curtime.wYear && day==curtime.wDay &&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;
}
//case4///////////////////////////////////////////
case 5://每年同一时间
{
//判断设置的月日是否与当前的月日相等(设置年>=当前年),如果相等,继续判断小时是否过时,
if(year>=curtime.wYear && month==curtime.wMonth && day==curtime.wDay &&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));
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?