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;
}
相关推荐
曹牧4 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
在路上看风景4 小时前
19. 成员初始化列表和初始化对象
c++
zmzb01034 小时前
C++课后习题训练记录Day98
开发语言·c++
念风零壹5 小时前
C++ 内存避坑指南:如何用移动语义和智能指针解决“深拷贝”与“内存泄漏”
c++
爬山算法5 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty7255 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎5 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄5 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿5 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds5 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化