Rss & SiteMap
开封论坛 http://www.izhen.cn/dv
实现步骤
1. 建立main.bat文件
以管理员身份登录windows xp,在系统盘的根目录下新建一个名为main.bat的文件(文件名可以随便取,下同)并输入如下内容:
cd
c:
cd windowssystem32
defrag c: /f
chkntfs c:
2. 建立main.inf文件
新建一个文件名为main.inf的文件并输入:
[version]
signature= $chicago$
advancedinf= 2.5,advpack.dll
[defaultinstall]
runpresetupcommands=tst.presetup
runpostsetupcommands=tst.postsetup
[tst.presetup]
c:main.bat
[tst.postsetup]
c:windowssystem32tsshutdn.exe 0 /delay:0 /powerdown
在这个文件中,signature必须设置为$chicago$,否则文件将无法起作用。
3. 建立begin.bat文件
在c盘根目录下建立批处理文件begin.bat,向这个文件中输入:
c:windowssystem32 undll32.exe advpack.dll,launchinfsectionex
c:main.inf,defaultinstall,,32
这个命令的作用是让windows xp启动一个硬件安装过程,从而执行.inf文件中的指令。rundll32.exe在windows中被用来调用dll文件(动态链接库)中函数提供的功能。比如这里的rundll32.exe就调用了advpack.dll中的launchinfsectionex函数,这个函数的作用就是启动一个.inf安装过程。不过main.inf的内容已经和硬件安装无关,而是被我们偷梁换柱改成了系统自动维护的命令。
计划任务的作用是定期执行Begin.bat文件,实现步骤如下:
(1)打开Windows XP的开始菜单进入“程序→附件→系统工具→计划任务”,双击“添加计划任务”,单击“浏览”,找到C盘根目录下面的Begin.bat文件,然后单击“下一步”按钮
(2)设置任务执行周期为“每周”,然后单击“下一步”按钮
(3)设置执行计划任务的密码,也就是计算机的管理员密码,然后单击“下一步”按钮
(4)设置执行任务的具体日期和时间。
在以上例子中,我们让这个计划任务每周日的23:30执行一次文件C:Begin.bat,进行自动维护。
实现原理
.inf文件通常用于硬件安装,其实是一个文本文件。当用户在文件上单击鼠标右键选择“安装”的时候,Windows将会根据这个文件的内容执行一系列操作,上面介绍的自动维护方法就是借助.inf文件的这个特点实现的。
我们建立的计划任务启动时,它会调用Begin.bat。Begin.bat将使用Main.inf作为配置文件启动一个安装过程,按照Main.inf中的内容执行一系列操作。
Main.inf启动时会首先执行[Tst.PreSetup]段中的语句,也就是“C:Main.bat”,Main.bat被调用时,Windows将对C:进行磁盘碎片整理工作。Main.bat的内容越丰富,自动维护的功能就越强大。
Main.bat中的命令都执行完毕后,[Trs.PostSetup]中的语句又将被执行,也就是:
C:WINDOWSSYSTEM32TSSHUTDN.EXE 0 /DELAY:0 /POWERDOWN
这个语句的作用是关闭计算机,其实是“关闭Windows XP+关闭电源”。
最后要注意的一点,这个方法只能在Windows XP Professionl中实现,Windows XP Home无法使用。
Copyright ©2005-2023 [豫ICP备18042561号-1] Http://Www.izhen.CN™
联系电话:13937851927 本论坛所有发言均属个人观点,与开封论坛无关!拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论! |