0

Ejemplo reiniciar publicacion

Hola este ejemplo es para responder a Jorgesp que tenia la siguiente consulta:

Hola!! ¿alguien sabe qué función puedo crear para reiniciar la aplicación? Cerrar y abrir de nuevo el ejecutable sin necesidad de plug-ins, ¿hay alguna función? Gracias!!!

Para resolver esto hice la función ReiniciarPub:

.Separamos la variable commandline
StrParse "[CommandLine]" "[#13]" "[Parametro]" ""
.El primer parametro es el la ruta a nuestro ejecutable
setvar "[DirNombreExe]" "[Parametro1]"
DeleteArray "[Parametro]" "All"
.Separamos para obtener solo el nombre
StrParse "[DirNombreExe]" "\" "[NombreExePartes]" "[NombreExePartes.C]"
setvar "[NombreExe]" "[NombreExePartes[NombreExePartes.C]]"
DeleteArray "[NombreExePartes]" "All"
clearvariables "[NombreExePartes.C]"
.Aca escribimos en temp un simple .bat que nos ayudara
.Escribimos el comando taskkill que cerrara nuestra app
FileWrite "[TempDir]reinip.bat" "All" "start /B /WAIT taskkill /f /im [NombreExe]"
.Si le pasamos un numero como parametro escribira el comando timeout que esperara los segundos que le pasemos
if "[%1]" ">" "0"
FileWrite "[TempDir]reinip.bat" "Append" "start /B /WAIT timeout [%1]"
endif
.Escribimos el comando start que se encargara de ejecutar nuevamente nuestra app
FileWrite "[TempDir]reinip.bat" "Append" "start [DirNombreExe]"
.Por ultimo ejecutamos el .bat que escribimos
Run "[TempDir]reinip.bat" "" "RunOnce+Hidden" "" ""

Entonces para llamarla hacemos :

Call "ReiniciarPub" "10"

La función recibe 1 parámetro que es la cantidad de segundos que queremos que espere antes de reabrir la aplicación.

Por lo que si queremos que el reinicio sea instantáneo seria:

Call "ReiniciarPub" "0"

Screenshots

sshot

Descarga:

  ejReiniciarPub.rar (1.019,1 KiB, 2.213 hits)

NOTA: La función ReiniciarPub (incluida en el .rar) debe estar en la carpeta functions donde esta instalado neobook.

Espero que sirva.

BuNKeR

 

bunker

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *