定时关机小程序

前言

有时候在电脑上跑脚本或者做其他连续任务时,有事需要离开,但是电脑上的任务没有做完。或者大晚上了想睡觉了,但是任务没有跑完,又不想让电脑开机一晚上。想让电脑在一定时间后关机,怎么办?别给我说用命令啥的,我记性差,记不住,用命令还要把时分化成秒,计算时间也很麻烦啊。所以我花了点时间用C写了个小程序,用Dev-C++编译就能得到一个exe软件,也方便使用,这也是我选择用C写的原因。

界面
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <stdio.h>
#include <stdlib.h>

int main()
{

/*
颜色属性由两个十六进制数字指定, 第一个为背景色, 第二个为前景色。
每个数字可以为下列值之一:
黑色 = 0 蓝色 = 1 绿色 = 2 湖蓝色 = 3
红色 = 4 紫色 = 5 黄色 = 6 白色 = 7
灰色 = 8 淡蓝色=9 淡绿色=A 白色=C
淡紫色=D 淡黄色=E 亮白色=F
*/
// 窗体颜色设置
system("color 2F");
//设置窗体大小
char Size[100]="mode con cols=70 lines=30";
system(Size);

Again:
int h = 66,m = 66,s = 66;
int Choice = 0;
char command[100];
printf("===================================================\n");
printf("请选择你要执行的操作:1)定时关机 2)定时重启 3)取消定时任务 4)退出\n");
printf("你的选择是:");
scanf("%d",&Choice);
printf("===================================================\n");

switch(Choice){
case 1:
printf("===================================================\n");
printf("你希望多久后自动关机?(时-分-秒):");
scanf("%d-%d-%d",&h,&m,&s);
if(0<=h&&h<24&&0<=m&&m<60&&0<=s&&s<60){
printf("你将于%d小时%d分%d秒后关机!\n",h,m,s);
int shutdown_time=h*3600+m*60+s;
sprintf(command,"shutdown -s -t %d",shutdown_time);
system(command);
}else{
printf("请输入正确的时间!\n");
}
goto Again;
break;

case 2:
printf("===================================================\n");
printf("你希望多久后自动重启?(时-分-秒):");
scanf("%d-%d-%d",&h,&m,&s);
if(0<=h&&h<24&&0<=m&&m<60&&0<=s&&s<60){
printf("你将于%d小时%d分%d秒后重启!\n",h,m,s);
int shutdown_time=h*3600+m*60+s;
sprintf(command,"shutdown -r -t %d",shutdown_time);
system(command);
}else{
printf("请输入正确的时间!\n");
}
goto Again;
break;

case 3:
sprintf(command,"shutdown /a");
system(command);
printf("定时任务已取消!\n");
goto Again;
break;

case 4:
exit(0);
break;

default:
printf("请输入正确的选项!\n");
goto Again;
}
}
使用

用Dev-C++编译一下代码,就能得到一个exe程序,以后直接运行这个exe程序就可以用了。