FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Iniciar y Detener un Servicio en Windows 7 x32 y x64
Club Delphi,
Revisen este código: El código anterior permite iniciar o detener un Servicio en Windows por medio de las Service Functions APIs. El código fue realizado en Delphi 7 y Delphi 2010 y funciono correctamente en Windows 7 Professional x32 y x64. Espero sea útil Nelson. Última edición por nlsgarcia fecha: 09-03-2014 a las 00:03:37. |
#2
|
||||
|
||||
Gracias por el aporte, amigo
|
#3
|
||||
|
||||
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#4
|
||||
|
||||
Gracias.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Muchas gracias
De gran utilidad Saludos Guillermo |
#6
|
|||
|
|||
Pasé tu código a dos clases para utilizarlas en diferentes proyectos.
La función de iniciar funciona correctamente, emite los mensajes de finalización. La función de detener no finaliza nunca, con la particularidad de que detiene el servicio (previamente cancelo mediante administrador de tareas y luego corroboro que se haya detenido). Pensé que pudiese ser un error al pasarlo a las clases, por lo que generé un proyecto con el código que posteaste y se comporta de la misma manera. Alguna idea de que puede ser ? Muchas gracias Saludos Guillermo |
#7
|
||||
|
||||
glsaavedra,
Cita:
1- ¿En que versión de Delphi implementas el código del Msg #1?. 2- ¿Que versión de Windows utilizas?, ¿Es de 32 o 64 bits?. 3- ¿Haz probado iniciar y detener otros servicios para evaluar si presenta el mismo comportamiento?. 4- ¿Que hace el servicio en cuestión?. Espero sea útil Nelson. |
#8
|
|||
|
|||
Hola y gracias por tu pronta respuesta
Versión Delphi - XE3 Windows 7 - Home Premiun - 64 bits El servicio en cuestión es MySQL (bien Inicio, mal Detener) Servicios testeados y funcionando bien el Inicio y Detener --> Hamachi2Svc - MSSQL$SQLEXPRESS - TeamViewer9 Saludos y nuevamente gracias |
#9
|
||||
|
||||
glsaavedra,
Cita:
1- ¿La aplicación en cuestión donde se implementa el código del Msg #1 es VCL o FireMonkey?, ¿Esta compilada en 32 Bits o 64 Bits?. 2- ¿Cuando te refieres a mal Detener, quieres indicar que el servicio MySQL se detiene pero la función ServiceStop no finaliza?, ¿Es correcto?. 3- ¿El servicio de MySQL es de 32 o 64 bits?. 4- ¿Los servicios que inician y detienen correctamente son de 32 o 64 bits?. 5- ¿Puedes probar el iniciar y detener el servicio de MySQL en un ambiente de 32 Bits?. Espero sea útil Nelson. |
#10
|
||||
|
||||
Club Delphi,
Revisen este código: El código anterior es la versión 2 del código del Msg#1 que permite iniciar o detener un Servicio en Windows por medio de las Service Functions APIs. El código fue probado en Delphi 7, Delphi 2010 y Delphi XE4 (VCL 32 Bits y 64 Bits) bajo Windows 7 Professional x32 y x64, funcionando correctamente según lo esperado con los servicios de prueba utilizados tanto en 32 como 64 bits. Nota: 1- La versión 2 verifica los posibles estatus pertinentes en la apertura (Función ServiceStart) y cierre (Función ServiceStop) del servicio a procesar. 2- La versión 2 cierra los servicios activos que son dependientes del servicio a finalizar por medio de la Función StopDependentServices la cual es llamada desde la Función ServiceStop encargada de cerrar el servicio requerido y derivados, esto debe ser tomado en cuenta al momento de cerrar un servicio, si se obvia la Función StopDependentServices todos los servicios dependientes fallaran al cerrar el servicio principal. 3- La versión 2 tiene un control de TimeOut configurable para todas las funciones, en caso de producirse un Timeout en las funciones de Apertura o Cierre de un Servicio, estas devolverán el último estatus registrado del servicio al momento del TimeOut. Espero sea útil Nelson. Última edición por nlsgarcia fecha: 20-05-2014 a las 21:10:59. |
#11
|
|||
|
|||
Hola Nelson
Paso a responder 1 - VCL compilado en 32 2 - exacto, detiene el servicio pero la función no finaliza 3 - Probado en W7 64 con MySQL 32 y W7 32 con MySQL 32 4 - de ambos 5 - probado con igual resultado - para corroborar, le pasé el ejecutable a un amigo que tiene todo 32 y se comporta del mismo modo. Saludos Guillermo Cita:
|
#12
|
||||
|
||||
glsaavedra,
Cita:
Pregunto : ¿Probastes la versión 2 del programa que esta en el Msg #10? Nelson. Última edición por nlsgarcia fecha: 21-05-2014 a las 03:42:04. |
#13
|
|||
|
|||
Nelson
pruebo con el Msg #10 y te comento Saludos Guillermo |
#14
|
|||
|
|||
Nelson
probé, solo tuve que cambiar los boolean por integer de las funciones start y stop, porque si no el case daba error de compilación. Salvado eso, el comportamiento es el mismo, inicia bien, detiene, sigue deteniendo pero no finalizando Saludos Guillermo |
#15
|
||||
|
||||
glsaavedra,
Cita:
En las funciones ServiceStart, ServiceStop y StopDependentServices del código incluido en el Msg #10 hacer el siguiente cambio: Espero sea útil Nelson. Última edición por nlsgarcia fecha: 21-05-2014 a las 17:37:00. |
#16
|
|||
|
|||
Nelson
Perfecto !!!! Todo funciona correctamente Nuevamente gracias Guillermo |
#17
|
|||
|
|||
Hola gente ... Hola Nelson
Te molesto por una consulta, para ampliar, el tema de la "machine" donde iniciar o detener el servicio. Hay alguna consideración especial ? Hasta ahora solo he probado con \\127.0.0.1, pero quiero hacer pruebas con un MySQL en otra IP de la red Saludos y gracias Guillermo |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Detener un servicio Windows | cmfab | Varios | 4 | 09-03-2014 19:21:47 |
Iniciar y detener jobs!! | Melissa_12 | MS SQL Server | 3 | 20-11-2012 19:27:17 |
Iniciar servicio de windows | jocey | Varios | 1 | 19-09-2008 22:29:13 |
Problema al iniciar servicio con windows. | mcalmanovici | Varios | 2 | 27-06-2008 18:13:21 |
Detener\Iniciar proceso de windows | jocey | Varios | 3 | 19-02-2008 03:41:26 |
|