Página 1 de 1
Seguir el script despues de reinicio
Publicado: 08 Feb 2011, 22:20
por filox
Hola a todos que tal.
Estoy empezando con autoit y he empezado haciendo programas desatendidos,,pero me encuentro que hay algunos programas que te piden reiniciar para despues seguir con la instalacion,al hacer esto mediante codigo llego hasta que reinicia pero despues no sigue en el punto o en la ventana donde se ha quedado anteriormente con lo cual reinicia de nuevo y no sigue la instalacion.
Mediante una entrada de rejistro al Runonce hago que otra vez empiece el script pero cuando reinicia empieza otra vez a instalar y reinicia de nuevo.
Me pregunto si hay alguna manera de que despues de reiniciar continue el script en el punto donde se quedo anteriormente,,o sea antes de reiniciar,,concretamente estaba haciendo el Alcohol 120% desatendido.
Gracias
Salu2.
Re: Seguir el script despues de reinicio
Publicado: 09 Feb 2011, 00:57
por BasicOs
Sin problemas,
tienes que hacer
dos fases en el script, una sería antes del reinicio y otra despues del reinicio,
puedes hacer dos funciones y hacer una marca en el registro o un fichero ini donde lo grabes.
Ejemplo:
Código: Seleccionar todo
$grabadoenelregistro=leerdelregistro()
if not $grabadoenelregistro
antesdelreinicio()
grabarenregistro()
else
despuesdelreinicio()
borrarmarcadelregistro()
endif
Salu22:)
Re: Seguir el script despues de reinicio
Publicado: 09 Feb 2011, 10:19
por filox
Muchas gracias por tu contestacion,,pero como dije anteriormente estoy empezando y con tu respuesta me entero amedias.
Si pudieras ponerme un ejemplo practico te lo agradeceria pues creo que me enteraria mejor.
Gracias por tus molestias
Salu2.
Re: Seguir el script despues de reinicio
Publicado: 09 Feb 2011, 12:53
por BasicOs
filox escribió:Muchas gracias por tu contestacion,,pero como dije anteriormente estoy empezando y con tu respuesta me entero amedias.
Si pudieras ponerme un ejemplo practico te lo agradeceria pues creo que me enteraria mejor.
Gracias por tus molestias
Salu2.
Por fa, publica lo que tienes hecho y vemos donde tienen que ir los punto de CORTE, para antes y despues del reinicio (if then)
Salu22:)
Re: Seguir el script despues de reinicio
Publicado: 09 Feb 2011, 16:24
por filox
Te pongo lo que tengo,,estoy aprendiendo y es muy sencillo
Código: Seleccionar todo
#NoTrayIcon
#RequireAdmin
Opt("WinWaitDelay",100)
Opt("WinTitleMatchMode",4)
Opt("TrayIconHide", 1)
Dim $Al="Alcohol 120% 1.9.8.7612"
RegWrite("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce", "Al120", "REG_SZ", """" & @ScriptFullPath & """")
Run("Alcohol120_retail_1.9.8.7612.exe",@ScriptDir,@SW_SHOW)
WinWait("Installer Language" ,"Español")
If Not WinActive("Installer Language" ,"Español") Then WinActivate("Installer Language" ,"Español")
WinWaitActive("Installer Language" ,"Español")
ControlClick ("Installer Language" ,"OK", "Button1" )
Sleep(500)
WinWait($Al ,"Presione Siguiente para continuar.")
If Not WinActive($Al ,"Presione Siguiente para continuar.") Then WinActivate($Al ,"Presione Siguiente para continuar.")
WinWaitActive($Al ,"Presione Siguiente para continuar.")
ControlClick ($Al ,"&Siguiente >", "Button2" )
Sleep(1000)
WinWait($Al ,"Acuerdo de licencia")
If Not WinActive($Al ,"Acuerdo de licencia") Then WinActivate($Al ,"Acuerdo de licencia")
WinWaitActive($Al ,"Acuerdo de licencia")
ControlClick ($Al ,"A&cepto", "Button2" )
Sleep(500)
Shutdown(6)
WinWait($Al ,"Selección de componentes")
If Not WinActive($Al ,"Selección de componentes") Then WinActivate($Al ,"Selección de componentes")
WinWaitActive($Al ,"Selección de componentes")
ControlClick ($Al ,"&Siguiente >", "Button2" )
Sleep(500)
WinWait($Al ,"Elegir lugar de instalación")
If Not WinActive($Al ,"Elegir lugar de instalación") Then WinActivate($Al ,"Elegir lugar de instalación")
WinWaitActive($Al ,"Elegir lugar de instalación")
ControlClick ($Al ,"&Instalar", "Button2" )
Sleep(500)
WinWait($Al ,"Completando el Asistente de Instalación de Alcohol 120%")
If Not WinActive($Al ,"Completando el Asistente de Instalación de Alcohol 120%") Then WinActivate($Al ,"Completando el Asistente de Instalación de Alcohol 120%")
WinWaitActive($Al ,"Completando el Asistente de Instalación de Alcohol 120%")
ControlClick ($Al ,"&Ejecutar Alcohol 120%", "Button4" )
Sleep(500)
ControlClick ($Al ,"Añadir unidad virtual de Alcohol en el primer reinicio.", "Button5" )
Sleep(500)
ControlClick ($Al ,"&Terminar", "Button2" )
RegDelete("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce", "Al120")
Exit
Salu2.
Re: Seguir el script despues de reinicio
Publicado: 09 Feb 2011, 17:07
por BasicOs
Suponiendo que el punto del segundo código después del reinicio sea lo que está entre el ELSE y el ENDIF,
Sería algo así.
Otra manera alternativa:
Código: Seleccionar todo
#NoTrayIcon
#RequireAdmin
Opt("WinWaitDelay", 100)
Opt("WinTitleMatchMode", 4)
Opt("TrayIconHide", 1)
Dim $Al = "Alcohol 120% 1.9.8.7612"
If Not RegRead(cualquier cosa que escribes en una clave o la misma runOnce) Then
RegWrite(cualquier cosa que escribes en una clave o la misma runOnce)
RegWrite("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce", "Al120", "REG_SZ", """" & @ScriptFullPath & """")
Run("Alcohol120_retail_1.9.8.7612.exe", @ScriptDir, @SW_SHOW)
WinWait("Installer Language", "Español")
If Not WinActive("Installer Language", "Español") Then WinActivate("Installer Language", "Español")
WinWaitActive("Installer Language", "Español")
ControlClick("Installer Language", "OK", "Button1")
Sleep(500)
WinWait($Al, "Presione Siguiente para continuar.")
If Not WinActive($Al, "Presione Siguiente para continuar.") Then WinActivate($Al, "Presione Siguiente para continuar.")
WinWaitActive($Al, "Presione Siguiente para continuar.")
ControlClick($Al, "&Siguiente >", "Button2")
Sleep(1000)
WinWait($Al, "Acuerdo de licencia")
If Not WinActive($Al, "Acuerdo de licencia") Then WinActivate($Al, "Acuerdo de licencia")
WinWaitActive($Al, "Acuerdo de licencia")
ControlClick($Al, "A&cepto", "Button2")
Sleep(500)
Shutdown(6)
WinWait($Al, "Selección de componentes")
If Not WinActive($Al, "Selección de componentes") Then WinActivate($Al, "Selección de componentes")
WinWaitActive($Al, "Selección de componentes")
ControlClick($Al, "&Siguiente >", "Button2")
Sleep(500)
WinWait($Al, "Elegir lugar de instalación")
If Not WinActive($Al, "Elegir lugar de instalación") Then WinActivate($Al, "Elegir lugar de instalación")
WinWaitActive($Al, "Elegir lugar de instalación")
ControlClick($Al, "&Instalar", "Button2")
Sleep(500)
WinWait($Al, "Completando el Asistente de Instalación de Alcohol 120%")
If Not WinActive($Al, "Completando el Asistente de Instalación de Alcohol 120%") Then WinActivate($Al, "Completando el Asistente de Instalación de Alcohol 120%")
WinWaitActive($Al, "Completando el Asistente de Instalación de Alcohol 120%")
ControlClick($Al, "&Ejecutar Alcohol 120%", "Button4")
Sleep(500)
Else ; ===================== aquí empieza después del reinicio
ControlClick($Al, "Añadir unidad virtual de Alcohol en el primer reinicio.", "Button5")
Sleep(500)
ControlClick($Al, "&Terminar", "Button2")
RegDelete(Si quieres borrar la clave)
RegDelete("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce", "Al120")
EndIf
Exit
Si ves que no te sale, puedes simplemente divides el script en dos scripts:
uno.exe se ejecuta normal y el dos.exe es el que ejecutas en RUNONCE cuando se reinicia el pc,
Salu22:)