这个界面是如何实现的啊?怎么调用ylmf的驱动选择工具?
一个网友帮我解决了!分享一下阿! 首先,倒数39分钟是在WINNT.SIF文件的[GuiUnattended]段的DetachedProgram 设置项实现的,如:DetachedProgram = "%SystemDrive%\TEMP\DRIVERS.EXE"
但是39分钟执行的程序是同步执行的,也就是说你执行的时候系统安装进程还在前进,这样是不行的,等你解压完驱动就晚了,所以我们需要下载下面几个文件:
NirCmd.exe 一种增强的DOS命令行工具
Process.exe 一种很强的进程管理程序,其中一个功能就是暂停某进程执行(相信知道在这里的用处了吧)
WatchDriverSigningPolicy.exe 关闭微软安装未通过验证的驱动时的提示
SetupCopyOEMInf.exe 扫描指定的驱动目录,并处理所有的.inf文件(复制指定的.inf文件到%windir%\Inf中),这样,Windows在检查硬件设备后将会找到所有的即插即用硬件的
驱动程序。
这几个有了以后就用一个批处理编写一段命令,过程就是先停止XP安装进程setup.exe,然后执行驱动选择、解压驱动,完毕后继续setup.exe安装进程就行了。
我用的au3脚本没用批处理,下面是上面几个程序和批处理的下载地址,不过你得修改一下在用,这个是调用光盘上的驱动用的。
http://www.msfn.org/staff/Alanoll/DriverFiles.zip 下面是我写的au3脚本:
Driver.exe是驱动选择工具,这段代码编译后的程序和驱动选择放在一个文件夹下就行,各位用的上就改改试试吧。
#NoTrayIcon
$file = FileOpen(@HomeDrive & "\Ticker.ncl", 2)
FileWriteLine ( $file, "exec hide " & @ScriptDir & "\Process.exe -r setup.exe")
FileWriteLine ( $file, ".wait 10000 ")
FileWriteLine ( $file, "exec hide " & @ScriptDir & "\Process.exe -p SetupCopyOEMInf.exe high")
FileWriteLine ( $file, "exec hide " & @ScriptDir & "\Process.exe -s setup.exe")
FileWriteLine ( $file, ".wait 50000 ")
FileWriteLine ( $file, ".script " & @HomeDrive & "\Ticker.ncl")
FileClose($file)
runwait(@ScriptDir & "\Process.exe -s setup.exe","",@SW_HIDE)
runwait(@ScriptDir & "\Process.exe -p setup.exe low","",@SW_HIDE)
run(@ScriptDir & "\WatchDriverSigningPolicy.exe","",@SW_HIDE)
runwait(@ScriptDir & "\Driver.exe")
run(@ScriptDir & "\NirCmd.exe script " & @HomeDrive & "\Ticker.ncl")
runwait(@ScriptDir & "\SetupCopyOEMInf.exe C:\Driver","",@SW_HIDE)
runwait(@ScriptDir & "\Process.exe -k NirCmd.exe","",@SW_HIDE)
runwait(@ScriptDir & "\Process.exe -p setup.exe normal","",@SW_HIDE)
runwait(@ScriptDir & "\Process.exe -r setup.exe","",@SW_HIDE)
FileDelete(@HomeDrive & "\Ticker.ncl")
如果调用ylmf的驱动,还在在批处理或者au3代码里增加几行,下面是我的完整的调用ylmf驱动的au3代码:
#NoTrayIcon
$file = FileOpen(@HomeDrive & "\Ticker.ncl", 2)
FileWriteLine ( $file, "exec hide " & @ScriptDir & "\Process.exe -r setup.exe")
FileWriteLine ( $file, ".wait 10000 ")
FileWriteLine ( $file, "exec hide " & @ScriptDir & "\Process.exe -p SetupCopyOEMInf.exe high")
FileWriteLine ( $file, "exec hide " & @ScriptDir & "\Process.exe -s setup.exe")
FileWriteLine ( $file, ".wait 50000 ")
FileWriteLine ( $file, ".script " & @HomeDrive & "\Ticker.ncl")
FileClose($file)
runwait(@ScriptDir & "\Process.exe -s setup.exe","",@SW_HIDE)
runwait(@ScriptDir & "\Process.exe -p setup.exe low","",@SW_HIDE)
run(@ScriptDir & "\WatchDriverSigningPolicy.exe","",@SW_HIDE)
$file = FileOpen(@SystemDir & "\oeminfo.ini", 2)
FileWriteLine ( $file,"Manufacturer=YLMF GHOSTXP_SP2")
FileClose($file)
runwait(@ScriptDir & "\Driver.exe")
run(@ScriptDir & "\NirCmd.exe script " & @HomeDrive & "\Ticker.ncl")
runwait(@ScriptDir & "\SetupCopyOEMInf.exe C:\Driver","",@SW_HIDE)
runwait(@ScriptDir & "\Process.exe -k NirCmd.exe","",@SW_HIDE)
runwait(@ScriptDir & "\Process.exe -p setup.exe normal","",@SW_HIDE)
runwait(@ScriptDir & "\Process.exe -r setup.exe","",@SW_HIDE)
FileDelete(@HomeDrive & "\Ticker.ncl")
FileDelete(@SystemDir & "\oeminfo.ini")
[ 此贴被无缘无份在2008-08-05 16:08重新编辑 ]