一个定时关机的小程序

一:需求描述

最近经常在需要让计算机在特定时间关闭或者重启,所以写了这个程序。当然满足这一需求的方法很多,比如用计划任务等等,但是既然在学VC,就自己动手做一个吧。

二、解题思路

定时关机无非是设定一个关机时间,然后跟当前系统时间比较,取得这个差,然后设置一个定时器,到时间就执行相应的操作,比如shutdown、reboot、logoff等等。

三、详细过程

程序最终的画面如下:

第一步:利用Wizard生成一个对话框框架。然后按上图所示放置控件。其中“倒计时”的ID设为IDC_STATIC_NAME,“00:00:00”的ID设为IDC_STATIC_TIME(这两个在程序里要用),另外为日期、时间、ComboBox添加控件变量分别为m_Data1,m_Data2,m_ComboBox.ComboBox的样式为Drop list,即不接收输入。好了,下面就添加代码。

第二步:添加代码:

我要在按下“设定”按钮时,,把“设定”改为“重新设定”,让能设定的选项均不能再修改,除非再按一次这个按钮。所以要用一个bool型的变量记录按钮的状态,所以在对话框的头文件添加变量IsChanged,类型为bool.另外再添加3个变量m_Hour,m_Min,m_Sec,类型为int,一个long型的m_remain。好了,变量先添加这些,接下来要重载OnOK、OnCancel函数,直接用向导添加就行了;为按钮添加默认的点击处理函数;添加最小化到系统托盘的函数toTray(),消息映射 afx_msg LRESULT onShowTask(WPARAM wParam,LPARAM lParam);以及afx_msg void OnTimer(UINT_PTR nIDEvent);记得还要在对话框cpp文件中添加相应的内容,此处不说了。在对话框cpp中添加#define WM_SHOWTASK   WM_USER+1为自定义的消息。好了,现在就为函数写代码吧。

首先是在OnInitDialog()中添加 
 m_ComboBox.InsertString(0,_T("注销"));
 m_ComboBox.InsertString(1,_T("关闭计算机"));
 m_ComboBox.InsertString(2,_T("重新启动"));
 m_ComboBox.SetCurSel(1);
 //

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值