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;
}
相关推荐
故事和你9113 小时前
洛谷-【动态规划2】线性状态动态规划4
开发语言·数据结构·c++·算法·动态规划·图论
不吃土豆的马铃薯13 小时前
Socket 网络编程实战教程
linux·服务器·开发语言·网络·c++·算法
零号全栈寒江独钓13 小时前
c++跨平台实现日志重定向
linux·c++·windows
搬石头的马农13 小时前
Claude Code SpringBoot开发:从0到1搭建企业级项目的6个核心Skill
java·人工智能·spring boot·后端·ai编程
西安邮电大学13 小时前
Redis为什么快?
java·redis·后端·其他·面试
小成2023032026514 小时前
从C到C++
开发语言·c++
折哥的程序人生 · 物流技术专研14 小时前
《Java 100 天进阶之路》第39篇:Java泛型方法的定义和使用
java·开发语言·后端·面试·求职招聘
土狗TuGou14 小时前
SQL内功笔记 · 第6篇:窗口函数的使用ROW_NUMBER等
java·数据库·后端·sql·mysql
Chase_______14 小时前
【Java基础核心知识点全解·09】Java 内存布局与垃圾回收详解:栈、堆、栈帧、GC Roots 与对象回收
java·开发语言
武子康14 小时前
Java-11 深入浅出 MyBatis 一级缓存详解:从原理到失效场景 Executor
java·后端