瑞星卡卡安全论坛

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


        为找到答案,我们有必要先了解一下WINDOWS XP的关机。Windows
      XP系统通过一个名为Shutdown.exe的程序来完成关机操作(位置在Windows\System下),一般情况下XP的关机是由关机程序shutdown.exe来实现的,关机的时候调用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文件来实现关机的,例如“indir\RunDLL32.exe
      indir\System\Shell32.dll,SHExitWindowsEx 8”,但在Win2000也可利用它,方法如下:

        在WinXP安装目录下的System32文件夹中找到Shutdown.exe,将它复制到Win2000安装目录下的System32文件夹中,在“运行”中输入“Shutdown.exe”,即可像在Windows
      XP中一样使用该程序了。

        当然,shutdown.exe还有一些强大的功能,读者可以进一步实践探讨,充分利用 shutdown.exe 的强大功能。
1
查看完整版本: Windows XP-2000下巧拒强行关机