我将在此处分享我的答案,脚本已正确显示在MSFN网站中:http ://www.msfn.org/board/topic/49514-disable-found-new-hardware-wizard/?do=findComment&comment=1132792
我制作了一个AutoIt3脚本https://www.autoitscript.com/site/autoit/downloads/,该脚本将继续运行所有“新硬件向导”窗口,这些窗口接受未签名的驱动程序,取消WinXP CD提示并跳过多个选项(连接到Internet等) ,以便检测并安装鼠标和键盘。应将编译后的自动脚本EXE复制到“开始”(在“开始菜单”中)文件夹以自动执行。脚本字符串必须适应本地Windows语言。可能还有一些Alt-LETTER组合。我的示例在SPANISH WinXP中工作。希望它对其他人有帮助,在使鼠标和键盘起作用之后,必须删除脚本(或将其移动到其他文件夹):
$asistente= "Asistente para hardware nuevo encontrado" ;"Found New Hardware Wizard"
$instalacion= "Instalación de hardware"
$archivos= "Archivos necesarios"
$cambio= "Cambio de configuración del sistema"
while 1
sleep(200)
if WinExists( $cambio) then
WinActivate( $cambio)
sleep(200)
Send("!n") ; (press Alt-n)
endif
if WinExists( $instalacion) then
WinActivate( $instalacion)
sleep(200)
$text=WinGetText( $instalacion)
if StringInStr( $text, "El software que está instalando para este hardware") then ;"The software..."
Send("!c")
endIf
; MsgBox($MB_OK, "Autoit Status", $text & stringinstr( $text, "está"), 2 ) ; sleep(2000)
endif
if WinExists($archivos) then
WinActivate($archivos)
sleep(200)
$text=WinGetText( $archivos)
if StringInStr( $text, "Se necesita el archivo") then
ControlClick( "Archivos necesarios", "", "[ID:2]" )
endIf
endif
if WinExists( $asistente) then
WinActivate( $asistente)
sleep( 200)
$text=WinGetText( $asistente)
if StringInStr( $text, "Desea que Windows se conecte a Windows Update") then ;"Can Windows connect to Windows Update to search for software?"
; ControlCommand( $asistente, "", "[ID:8104]", "Check", "")
sleep(150)
; ControlClick( $asistente, "", "[ID:12324]")
Send("!n")
sleep(100)
Send("!t")
sleep(250)
endif
$text=WinGetText( $asistente)
if StringInStr( $text, "Este asistente le ayudará a instalar software para:") then ;"This wizard"
sleep(150)
Send("!t")
sleep(250)
endif
$text=WinGetText( $asistente)
if StringInStr( $text, "No se puede instalar este hardware") then ;"Cannot Install this Hardware"
ControlCommand( $asistente, "", "[ID:1030]", "UnCheck", "")
sleep(200)
;ControlClick( $asistente, "", "[ID:12325]")
Send("{ENTER}")
sleep(200)
endif
$text=WinGetText( $asistente)
if StringInStr( $text, "desea que haga el asistente?") then ;"What do you want the wizard to do?"
ControlCommand( $asistente, "", "[ID:1049]", "Check", "")
sleep(200)
ControlClick( $asistente, "", "[ID:12324]")
sleep(200)
endif
$text=WinGetText( $asistente)
if StringInStr( $text, "Se recomienda que se conecte a Internet para que el asistente") then
ControlCommand( $asistente, "", "[ID:1065]", "Check", "")
sleep(200)
ControlClick( $asistente, "", "[ID:12324]")
sleep(200)
endif
$text=WinGetText( $asistente)
if StringInStr( $text, "Finalizar para cerrar") then ;"Click Finish to close the wizard."
ControlClick( $asistente, "", "[ID:12325]")
sleep(250)
endif
endif
wend