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 + -
显示快捷键?