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;
}
相关推荐
JIngJaneIL1 分钟前
基于java+ vue学生成绩管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端
a程序小傲3 分钟前
得物Java面试被问:反射机制的原理和应用场景
java·python·面试
黎雁·泠崖7 分钟前
Java底层探秘进阶:JIT汇编逐行拆解!Java方法栈帧与C语言深度对标
java·c语言·汇编
老华带你飞13 分钟前
智能菜谱推荐|基于java + vue智能菜谱推荐系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
小钟不想敲代码31 分钟前
Python(三)
java·python·servlet
Qiu的博客33 分钟前
Spring Boot 全局异常处理策略设计(一):异常不只是 try-catch
java·spring
Han.miracle38 分钟前
Java集合核心:ArrayList与LinkedList深度解析
java·开发语言
篱笆院的狗39 分钟前
Group by很慢,如何定位?如何优化?
java·数据库
@卞1 小时前
从零实现一个高并发内存池(1)--- 项目介绍
c++