Como crear un servicio de windows

Como crear un servicio de windows

Postby leandro » Sat Apr 08, 2023 2:41 pm

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?

Image
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Como crear un servicio de windows

Postby cmsoft » Sat Apr 08, 2023 4:56 pm

User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Como crear un servicio de windows

Postby leandro » Mon Apr 10, 2023 3:40 pm

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/viewtopic.php?f=3&t=37183&p=222119&hilit=windows+service&sid=44c61e70e378c65cc7f50edc3c430988&sid=af6c71cf3417d24e0c3c30ce5da764af#p222119
https://forums.fivetechsupport.com/viewtopic.php?f=6&t=32147&p=188240&hilit=servicio+windows&sid=35e26bdbdaedf076522bce8d24b768c5&sid=af6c71cf3417d24e0c3c30ce5da764af#p188240
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Como crear un servicio de windows

Postby cmsoft » Mon Apr 10, 2023 3:45 pm

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.
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Como crear un servicio de windows

Postby leandro » Mon Apr 10, 2023 3:52 pm

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.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Como crear un servicio de windows

Postby cmsoft » Mon Apr 10, 2023 4:29 pm

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 view
#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
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Como crear un servicio de windows

Postby leandro » Tue Apr 11, 2023 6:48 pm

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 view
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. :oops:

De antemano gracias
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Como crear un servicio de windows

Postby cmsoft » Tue Apr 11, 2023 8:41 pm

Leandro, yo nunca lo he hecho, solo busque en google.
Probé intentando crearlo con el siguiente comando:
Code: Select all  Expand view

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
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 46 guests