代码:
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib.h> int main() { char input[20]; flag: system("shutdown -s -t 60"); printf("请输入:我是猪,不然不关机\n"); scanf("%s", input); if (strcmp(input, "我是猪") == 0) { system("shutdown -a"); printf("这不就好了,早知乖点就是了~ ~\n"); } else { printf("不输入就关机\n"); goto flag; } getchar(); return 0; }
其实这个程序是调用了C:\windows\system32\shutdown.exe 这个文件的 Windows XP系统通过一个名为Shutdown.exe的程序来完成关机操作(位置在Windows\System32下),一般情况下XP的关机是由关机程序shutdown.exe来实现的,关机的时候调用shutdown.exe。由此可知要阻止强行关机就是要取消对shutdown.exe的调用。 shutdown.exe -a 取消关机 shutdown.exe -f 强行关闭应用程序。 shutdown.exe -l 注销当前用户。 shutdown.exe -s -t 时间 设置关机倒计时。 shutdown.exe -c"消息内容" 输入关机对话框中的消息内容(不能超127个字符)。 比如你的电脑要在23:00关机,可以选择“开始→运行”,输入“at 23:00 Shutdown -s”,这样,到了23点,电脑就会出现“系统关机”对话框,默认有30秒钟的倒计时并提示你保存工作。如果你想以倒计时的方式关机,可以输入“Shutdown.exe -s -t 3600”,这里表示60分钟后自动关机,“3600”代表60分钟。 如果想取消的话,可以在运行中输入“shutdown -a”。另外输入“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。 Windows XP的关机是由Shutdown.exe程序来控制的,位于WindowsSystem32文件夹中。如果想让Windows 2000也实现同样的效果,可以把Shutdown.exe复制到系统目录System32下
时间: 2024-10-10 10:40:13