在Windows 2000/XP 下巧拒强行关机

从去年8月到现在 , 冲击波和震荡波让无数人的爱机无数次重启 , 折腾得要命 。当然现在有了补丁 , 有了专杀工具 , 它们的威力已大大减弱 。但还是常有一些人遭受它们的毒害 , 由于重启不得不关闭看得正好的电影 , 中止运行处于关键阶段的程序 , 因而丢失重要的数据 , 让人痛恨不已!那么能不能阻止由冲击波和震荡波引起的强制重启 , 先做完重要的工作 , 然后再去收拾这两个家伙呢?

为找到答案 , 我们有必要先了解一下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 的强大功能 。

    推荐阅读