Page 1 of 1
Como crear un servicio de windows
Posted: Sat Apr 08, 2023 2:41 pm
by leandro
Buenos días para todos
Queremos crear un proceso que se ejecute todo el tiempo, nos gustaría hacerlo como un servicio de windows, algo similar a lo que hace mysql. Pero no sabemos cual es el camino?
Asumimos que debemos tener un exe, pero como se hace para activarlo y desactivarlo, que tambien salga en la configuración del windows?

Re: Como crear un servicio de windows
Posted: Sat Apr 08, 2023 4:56 pm
by cmsoft
Re: Como crear un servicio de windows
Posted: Mon Apr 10, 2023 3:40 pm
by leandro
Amigo buenos días, muchas gracias por la ayuda.
Buscando en el foro encontré varios post que habían hecho con anterioridad, voy a revisarlas a ver que solución encuentro. El tema que mas
preocupa es que parece que todo esto esta escrito en harbour y nosotros usamos xharbour.
https://forums.fivetechsupport.com/view ... af#p222119
https://forums.fivetechsupport.com/view ... af#p188240
Re: Como crear un servicio de windows
Posted: Mon Apr 10, 2023 3:45 pm
by cmsoft
Leandro:
Por lo que leí en el link que te pasé, hablaba de como poner un programa (un exe) como servicio.
Creo que independientemente de con qué esté hecho.
Re: Como crear un servicio de windows
Posted: Mon Apr 10, 2023 3:52 pm
by leandro
Si tienes toda la razón, voy a crear un pequeño ejecutable para hacer la prueba de funcionamiento, otro de los problemas es que necesitamos que ese servicio se instale de manera automática, sin intervención del usuario.
Re: Como crear un servicio de windows
Posted: Mon Apr 10, 2023 4:29 pm
by cmsoft
Para eso puedes hacerlo mediante comandos de consola de windows desde dentro de tu programa
Por ejemplo con net start > servicios.txt puedes guardar los servicios que estan corriendo en windows, y ver luego el archivo servicios.txt si existe tu servicio, y sino, instalarlo. Y así cualquier otro comando de windows.
Por ejemplo, si quiero saber si está instalado MySQL en la terminal, hago lo siguiente:
Code: Select all | Expand
#include 'fivewin.ch'
Function Main()
LOCAL cComando , cRta
cComando := "C:\windows\system32\net.exe start > .\servicios.txt"
MemoWrit('servicios.bat',cComando)
DELETE FILE servicios.txt
WaitRun( 'servicios.bat', 0 )
cRta := MemoRead("servicios.txt")
IF !"MySQL"$cRta
MsgStop("MySQL Error")
//O instalar el servicio
ELSE
MsgInfo("MySQL Ok")
// Seguir con tu logica
ENDIF
RETURN nil
Re: Como crear un servicio de windows
Posted: Tue Apr 11, 2023 6:48 pm
by leandro
Cesar muchas gracias por la ayuda... tu código funciono de maravilla.
El problema es que parece que ese POST que me recomendaste ya es algo antiguo, o no tengo los ejecutables necesarios para hacerlo, ya que al intentar correr el ejemplo no funciona, estuve buscando dentro de la carpeta los exe, pero no están.
Code: Select all | Expand
C:\Users>C:\Program Files\Resource Kit\Instsrv.exe Notepad C:\Program Files\Resource Kit\Srvany.exe
"C:\Program" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.
Abusando de tu confianza y conocimiento, me podrías indicar como puedo crear el servicio con las instrucciones que sugieres.
De antemano gracias
Re: Como crear un servicio de windows
Posted: Tue Apr 11, 2023 8:41 pm
by cmsoft
Leandro, yo nunca lo he hecho, solo busque en google.
Probé intentando crearlo con el siguiente comando:
Code: Select all | Expand
sc.exe create prueba binpath= "c:\fwh21\samples\leandro.exe"
Tienes que ejecutarlo con privilegios de administrador
El servicio lo crea pero no pude ponerlo a correr