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.212 hits)

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

Espero que sirva.

BuNKeR