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;
}
相关推荐
木子.李3471 小时前
排序算法总结(C++)
c++·算法·排序算法
季鸢1 小时前
Java设计模式之状态模式详解
java·设计模式·状态模式
freyazzr2 小时前
C++八股 | Day2 | atom/函数指针/指针函数/struct、Class/静态局部变量、局部变量、全局变量/强制类型转换
c++
@yanyu6662 小时前
springboot实现查询学生
java·spring boot·后端
ascarl20102 小时前
准确--k8s cgroup问题排查
java·开发语言
magic 2452 小时前
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
java
爱敲代码的憨仔2 小时前
分布式协同自动化办公系统-工作流引擎-流程设计
java·flowable·oa
纪元A梦3 小时前
分布式拜占庭容错算法——PBFT算法深度解析
java·分布式·算法
卿着飞翔3 小时前
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
java·rabbitmq·java-rabbitmq
fpcc3 小时前
跟我学c++中级篇——理解类型推导和C++不同版本的支持
开发语言·c++