C语言可以利用system函数发出DOS命令。
运行效果:


代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int print()
{
printf("-------------------------------------\n");
printf("------C语言关机程序------\n");
printf("l输入下面相应序号,执行对应任务:\n");
printf("1 在指定的n分钟内关闭计算机\n");
printf("2 立即关闭计算机\n");
printf("3 注销计算机\n");
printf("4 取消自动关机\n");
printf("0 退出系统\n");
}
int main()
{
char cmd[20] = "shutdown -s -t ";
char t[5] = "0";
int c;
system("title C语言关机程序");
system("mode con cols=48 lines=10");
system("color 0B"); //0B分别代表前景色、背景色
system("date /T");
system("time /T");
print();
scanf("%d",&c);
getchar();
switch(c)
{
case 1:
printf("您想在多少秒后自动关闭计算机?(0-600)\n");
scanf("%s",t);
system(strcat(cmd,t));
break;
case 2:
system("shutdown -p");
break;
case 3:
system("shutdown -1");
case 4:
system("shutdown -a");
case 0:
break;
default:
printf("Error1\n");
}
system("pause");
return 0;
}
当然,也可以写成一个简单的批处理文件:
@echo off
cls
color 3a
:menu
echo.
echo 选择菜单:
echo.
@echo ╔┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉╗
@echo ┋ ┋
@echo ┋ 1. 定时关机,输入时间(如24:12),计算机将在输入的时间后一分钟关闭 ┋
@echo ┋ ┋
@echo ┋ 2. 定时关机,输入秒数(如3600),计算机将在输入的秒数后关闭 ┋
@echo ┋ ┋
@echo ┋ 3. 查看计划任务(资源管理器窗户窗口) ┋
@echo ┋ ┋
@echo ┋ 4. 查看计划任务(at命令设置的任务,CMD窗口,也就是本窗口查看) ┋
@echo ┋ ┋
@echo ┋ 5. 取消计划任务和定时关机任务 ┋
@echo ┋ ┋
@echo ┋ 0. exit ┋
@echo ┋ ┋
@echo ╚┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉╝
echo.
set /p choice=" 选择项目(输入前面的数字),然后回车:"
if "%choice%"=="1" goto 1
if "%choice%"=="2" goto 2
if "%choice%"=="3" goto 3
if "%choice%"=="4" goto 4
if "%choice%"=="5" goto 5
if "%choice%"=="0" goto 0
echo.
goto 0
:1
cls
echo.
set /p time= as "24:12" ,input time:
at %time% shutdown -s -t 30
goto menu
:2
cls
echo.
set /p time= as "3600" ,input seconds:
shutdown -s -t %time%
goto menu
:3
cls
echo.
taskschd.msc
goto menu
:4
cls
echo.
at
goto menu
:5
cls
echo.
shutdown -a
at /del
goto menu
:0
set time=
cls
echo.
运行效果:

-End-