Seguir el script despues de reinicio

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
filox
Mensajes: 3
Registrado: 30 Jul 2010, 17:51

Seguir el script despues de reinicio

Mensaje 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.
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Seguir el script despues de reinicio

Mensaje 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
:smt023 :smt023
Salu22:)
filox
Mensajes: 3
Registrado: 30 Jul 2010, 17:51

Re: Seguir el script despues de reinicio

Mensaje 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.
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Seguir el script despues de reinicio

Mensaje 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:)
filox
Mensajes: 3
Registrado: 30 Jul 2010, 17:51

Re: Seguir el script despues de reinicio

Mensaje 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.
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Seguir el script despues de reinicio

Mensaje 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:)
Responder