C++:控制电脑状态控制

以下是一个控制计算机关机、重启、注销和休眠的程序。程序首先输出一个菜单,让用户选择要执行的操作。用户输入数字后,程序会根据用户的选择执行相应的操作。

  1. 关机:用户可以选择立即关机、设定定时关机任务或取消定时关机任务。如果选择立即关机,程序会调用system函数执行"shutdown -s -t 0"命令;如果选择设定定时关机任务,程序会让用户选择定时关机的时间(4小时、8小时、12小时或16小时后),然后执行相应的命令;如果选择取消定时关机任务,程序会执行"shutdown -a"命令。

  2. 重启:程序会调用system函数执行"shutdown -r"命令,实现计算机重启。

  3. 注销:程序会调用system函数执行"shutdown -l"命令,实现计算机注销。

  4. 休眠:程序会调用system函数执行"shutdown -h"命令,实现计算机休眠。

  5. 取消:用户可以选择取消当前操作,程序会直接返回0并退出。

如果用户输入的数字不在1-5之间,程序也会直接返回0并退出。

*在定时关机项中,可进行自定义时间,设置为4h=240min=14400s -->按秒倒计时关机

#include <cstdlib>
#include <iostream>
#include<windows.h>
using namespace std;
int main()
{
	int num;
	cout << "1、关机" << endl;
	Sleep(500);
	cout<< "2、重启" << endl;
	Sleep(500);
	cout<< "3、注销" << endl;
	Sleep(500);
	cout<< "4、休眠" << endl;
	Sleep(500);
	cout<< "5、取消" << endl;
	cin >> num;
	switch (num)
	{
	case 1: {
		int j;
		cout << "1、关机" << endl;
		Sleep(500);
		cout << "2、设定定时关机任务" << endl;
		Sleep(500);
		cout << "3、取消定时关机任务" << endl;
		Sleep(500);
		cout << "4、取消" << endl;
		cin >> j;
		switch (j)
		{
		case 1:
			system("shutdown -s -t 0");
			break;
		case 2: {
			int t;
			cout << "1、4小时后关机" << endl
				<< "2、8小时后关机" << endl
				<< "3、12小时后关机" << endl
				<< "4、16小时后关机" << endl
				<< "5、取消" << endl;
			cin >> t;
			switch (t)
			{
			case 1:
				system("shutdown -s -t 14400");
				break;
			case 2:
				system("shutdown -s -t 28800");
				break;
			case 3:
				system("shutdown -s -t 43200");
				break;
			case 4:
				system("shutdown -s -t 57600");
				break;
			case 5:
				return 0;
			default:
				return 0;
			}
			break;
		}
		case 3:
			system("shutdown -a");
			break;
		case 4:
			return 0;
		default:
			return 0;
		}
		break;
	}
	case 2:
		system("shutdown -r");
		break;
	case 3:
		system("shutdown -l");
		break;
	case 4:
		system("shutdown -h");
		break;
	case 5:
		return 0;
	default:
		return 0;
	}
	return 0;
}
相关推荐
初晴~11 分钟前
【Redis分布式锁】高并发场景下秒杀业务的实现思路(集群模式)
java·数据库·redis·分布式·后端·spring·
黑胡子大叔的小屋1 小时前
基于springboot的海洋知识服务平台的设计与实现
java·spring boot·毕业设计
ThisIsClark1 小时前
【后端面试总结】深入解析进程和线程的区别
java·jvm·面试
雷神乐乐2 小时前
Spring学习(一)——Sping-XML
java·学习·spring
小林coding2 小时前
阿里云 Java 后端一面,什么难度?
java·后端·mysql·spring·阿里云
V+zmm101343 小时前
基于小程序宿舍报修系统的设计与实现ssm+论文源码调试讲解
java·小程序·毕业设计·mvc·ssm
文大。3 小时前
2024年广西职工职业技能大赛-Spring
java·spring·网络安全
lqqjuly3 小时前
特殊的“Undefined Reference xxx“编译错误
c语言·c++
一只小小翠3 小时前
EasyExcel 模板+公式填充
java·easyexcel
冰红茶兑滴水4 小时前
云备份项目--工具类编写
linux·c++