admin管理员组

文章数量:1532732

2024年3月6日发(作者:)

[注意]:本代码围绕at和shutdown指令编写的程序,主要用于windows7的(倒计时/定时)关机操作(由于at指令被windows10弃用,所以windows10使用会受到很大的限制甚至无法使用)

打印的时候一些表示方式:

shutdown /s :关闭系统

shutdown /s /t 600 :开始倒计时600秒后关闭系统

15:00 shutdown /s :15:00后按默认方式关机

15:00 shutdown /s /t 600 :15:00提醒并开始倒计时600秒后关闭系统

本代码完全安全无病毒,若在进行设置(倒计时/定时)关机时,安全软件发出拦截警告,请允许运行

最后,本代码开放(在windows7关机小程序.cpp文件内),允许任意复制、粘贴、修改和发布。

以下是源代码(建议复制到*.cpp文件内查看)

#include"stdio.h"

#include "windows.h"

#include"string.h"

#include "stdlib.h"

#include"conio.h"

//int _System(const char * cmd, char *pRetMsg, intmsg_len);

int menu(char *opt);//主菜单函数

int menu1();

int menu2();

int main()

{

printf("1>---------------------------------------------------------------------------<1char opt[32]={0};

while(1)

{

menu1();

n");

printf("1>---------------------------------------------------------------------------<1

printf("1>请输入当前主菜单操作:");

fgets(opt,sizeof(opt),stdin);

opt[strlen(opt)-1]='0';

n");

menu(opt);

if (strcmp(opt,"5")==0

||strcmp(opt,"离开")==0

||strcmp(opt,"Go away")==0)return 0;

}

int menu(char *opt)//主菜单函数

{

if (strcmp(opt,"1")==0

{

}

system("shutdown -a");

return 1;

||strcmp(opt,"取消本次关机")==0

||strcmp(opt,"Cancel this shutdown")==0)

return 0;

}

system("cls");

system("pause");

printf("n");

if (strcmp(opt,"2")==0

||strcmp(opt,"设置关机")==0

||strcmp(opt,"Set off")==0)

{

char opt1[32]={0};

char sec[16]="/t ";

char mould1[32]="at ";

char mould2[32]=" shutdown /s ";

printf("1>请输入关机模式《倒计时/定时》: fgets(opt1,sizeof(opt1),stdin);

opt1[strlen(opt1)-1]='0';

if(strcmp(opt1,"倒计时")==0)

{

printf("1>请输入倒计时秒数:");

fgets(sec+3,sizeof(sec),stdin);

sec[strlen(sec)-1]='0';

strcat_s(mould2,sizeof(mould2),sec);

printf("n");

system(mould2);

");

printf("1>请输入提醒倒计时秒数[60]:");

fgets(sec+3,sizeof(sec),stdin);

sec[strlen(sec)-1]='0';

fgets(mould1+3,sizeof(mould1),stdin);

mould1[strlen(mould1)-1]='0';

if(strlen(mould1)!=strlen("at 22:00")

{

}

strcat_s(mould1,sizeof(mould1),mould2);

printf("!>输入格式错误;格式如(24:00/0:00)n");

return -2;

&&strlen(mould1)!=strlen("at 22:00")

&&strlen(mould1)!=strlen("at 2:00")

&&strlen(mould1)!=strlen("at 2:00"))

if(strcmp(opt1,"定时")==0)

{

printf("1>请输入时间(24小时制(24:00)):");

}

if(strlen(sec)>strlen("at "))

strcat_s(mould1,sizeof(mould1),sec);

printf("n");

system(mould1);

}

}

if (strcmp(opt,"3")==0

{

}

if (strcmp(opt,"4")==0

{

while (1)

{

||strcmp(opt,"删除定时计划")==0

||strcmp(opt,"Delete work plan")==0)

system("at");

||strcmp(opt,"打印所有计划")==0

||strcmp(opt,"Print all plans")==0)

char opt1[32]={0};

char mould1[16]="at ";

char mould2[16]=" /delete ";

menu2();

printf("1>请输入您的选择:");

fgets(opt1,sizeof(opt1),stdin);

opt1[strlen(opt1)-1]='0';

system("at");

if (strcmp(opt1,"1")==0

||strcmp(opt1,"离开")==0

||strcmp(opt1,"Go away")==0)return 0;

if (strcmp(opt1,"2")==0

{

}

printf("n");

system("at /delete");

return 0;

||strcmp(opt1,"删除全部计划")==0

||strcmp(opt1,"Delete all plans")==0)

if (strcmp(opt1,"3")==0

{

printf("1>根据上表输入要删除的计划的ID:");

||strcmp(opt1,"按ID删除计划")==0

||strcmp(opt1,"Delete plan by ID")==0)

fgets(mould1+3,sizeof(mould1),stdin);

mould1[strlen(mould1)-1]='0';

printf("n");

system(mould1);

printf("1>确定结束计划(Y/N)n");

int x=getche();

if(x=='y'||x=='Y')

{

strcat_s(mould1,sizeof(mould1),mould2);

printf("n");

system(mould1);

printf("1>已删除该计划n");

}

}

}

}

}

return 0;

int menu1()

{

printf("1>---------------------------------------------------------------------------<1n");

printf("1>《主菜单》<1n");

printf("1> 1取消本次关机(Cancel this shutdown) 2设置关机(Set off) <1n");

printf("1> 3打印所有计划(Print all plans) 4删除定时计划(Delete work plan)<1n");

printf("1> 5离开(Go away)

<1n");

printf("1>---------------------------------------------------------------------------<1n");

return 0;

}

int menu2()

{

printf("1>---------------------------------------------------------------------------<1n");

printf("1>《4号子菜单》<1n");

printf("1> 1离开(Go away) 2删除全部计划(Delete all plans) <1n");

printf("1> 3按ID删除计划(Delete plan by ID)

<1n");

printf("1><1n");

printf("1>---------------------------------------------------------------------------<1n");

}

return 0;

本文标签: 关机倒计时输入计划程序