为找到答案,我们有必要先了解一下WINDOWS XP的关机。Windows XP系统通过一个名为Shutdown.exe的程序来完成关机操作(位置在WindowsSystem下),关机的时候调用shutdown.exe。由此可知要阻止强行关机就是要取消对shutdown.exe的调用。而笔者发现冲击波和震荡波的关机重启都要调用这个程序,于是答案由此而生:
在弹出强行关机的对话框时,快速打开[运行]窗口(按下CTRL+R),输入“shutdown.exe -a”(注意有一个空格),回车,这时你可以看到强行关机的对话框消失了。然后就可以轻松地干掉冲击波和震荡波。
当然这种方法不仅可用于此,其它一些原因引起的关机也如法炮制。
既然谈到shutdown.exe,有必要将其它重要参数介绍一下:
shutdown.exe -a 取消关机
shutdown.exe -f 强行关闭应用程序。
shutdown.exe -m \计算机名 控制远程计算机。
shutdown.exe -i 显示图形用户界面,但必须是Shutdown的第一个参数。
shutdown.exe -l 注销当前用户。
shutdown.exe -r 关机并重启。
shutdown.exe -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”,则可以打开设置自动关机对话框,对自动关机进行设置。
虽然shutdown.exe是Windows XP下的程序,在Windows2000中是调用Windows下System中的Shell32.dll文件来实现关机的,例如“indirRunDLL32.exe indirSystemShell32.dll,SHExitWindowsEx 8”,但在Win2000也可利用它,方法如下:
在WinXP安装目录下的System32文件夹中找到Shutdown.exe,将它复制到Win2000安装目录下的System32文件夹中,在“运行”中输入“Shutdown.exe”,即可像在Windows XP中一样使用该程序了。
当然,shutdown.exe还有一些强大的功能,读者可以进一步实践探讨,充分利用 shutdown.exe 的强大功能。