代碼:
#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下