上代码
#include<stdio.h> #include<stdlib.h> #include<Windows.h> //<Windows.h> 'W'大写 int main() { char password[20] = { 0 }; system("shutdown -s -t 60"); //这是Windows系统下的一个关机命令 again: printf("你的电脑将在1分钟内关机取消关机请输入“我是傻逼”\n等待输入:"); scanf("%s", password); if (strcmp(password,"我是傻逼")==0) //输入正确,取消关机 { system("shutdown -a"); //取消关机命令 printf("已取消关机\n"); } else { //输入错误,回到again:再次输入 goto again; } return 0; }
讲解
shutdown
Windows 系统自带一个名为Shutdown.exe的程序,可以用于关机操作(位置在Windows\System32下),一般情况下Windows系统的关机都可以通过调用程序 shutdown.exe来实现的,同时该程序也可以用于终止正在计划中的关机操作。
strcmp函数
我们来学习一下这个字符串比较函数
int strcmp ( const char * str1, const char * str2 );
函数在库函数<stdlib.h>中
函数的返回值int
字符串str1大于字符串str2返回正数
字符串str1小于字符串str2返回负数
字符串str1等于字符串str2返回0
字符串str1和str2都是字符串地址,
而一开始创建的char password[20]就是等待用户输入字符,储存字符,而之前,我们已经知道,数组名就是地址。
用下方代码进行判断,密码是否正确。
if (strcmp(password, "我是傻逼")==0)
密码和时间可以自己设置哦,没有输入正确,超过设置时间就会关机
演示
1.编译运行
2.等待输入
是不是有点意思!
分享
不要忘了,好东西是用来分享的!怎么能不发给好兄弟呢!
如何分享呢?
第一步
将vs下的配置管理器改成Release vs默认是Delug然后重新编译一下,Release要求不那么高,更兼容,确保好友可以使用
第二步
重新编译后找到你这个vs项目的文件夹下,就会多出一个Release文件,打开后就会有一个exe应用程序文件,这个就可以发给好兄弟了。
学会了吗?
有同学会说:将调试控制台一关不就ok了,输入是不可能的。
这你就大意了,照样关机,你说气不气?
博主有什么破解之法吗?
那是当然!
破解之法
找到计算机中的控制命令符
就是这个黑框框,是不是和VS的框框有点像
可以直接查找输入cmd,或者快捷键 Winds键+r
输入cmd即可打开
然后在里面,输入那几条windown.h命令就好了