Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-09-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Parar un servicio y reiniciarlo es sencillo en Delphi; Es un tema que ya hemos tratado varias veces y además creo que hay algun truco en la sección de Trucos de clubDelphi donde podrás encontrar en código para hacerlo (sino en algun hilo ya se ha añadido).

En cuanto a saber si un servicio está bloqueado, creo que debes probar a hacer un programa que intente "consumir" de ese servicio; Si el resultado no es el esperado, actuar en consecuencia.
__________________
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.
Responder Con Cita
  #2  
Antiguo 22-09-2008
jocey jocey is offline
Miembro
 
Registrado: ene 2007
Posts: 111
Poder: 20
jocey Va por buen camino
Servicio con windows

Si, ya he encontrado dos trucos y ninguno me funciona.....
Responder Con Cita
  #3  
Antiguo 22-09-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Deberías dar alguna explicación más. En mi caso tengo dos programas que utilizan ese código y funcionan perfectamente parando, arrancando y testeando el estado del servicio.
__________________
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.
Responder Con Cita
  #4  
Antiguo 22-09-2008
jocey jocey is offline
Miembro
 
Registrado: ene 2007
Posts: 111
Poder: 20
jocey Va por buen camino
Servicio con windows

Eso es lo que necesito un programa que testee el servicio y lo arranque o reinicie en caso de que el servicio este detenido o bloqueado.... no se que mas puedo explicar.... si fueras tan amable.

Saludos
Responder Con Cita
  #5  
Antiguo 22-09-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por jocey Ver Mensaje
... y ninguno me funciona.....
Cita:
Empezado por jocey Ver Mensaje
.... no se que mas puedo explicar...
Podrías explicar ¿Qué es lo que no funciona? ¿Parar? ¿Arrancar? ¿Que te devuelva el estado?
¿No te compilan los trucos? ¿Sí compilan, pero no ejecutan?
¿Algun error?
¿No funcionan con tu servicio concreto o no funcionan con ninguno?
¿qué llamada estás haciendo? ¿Qué parrémetro pasas para identificar el servicio?
...

A eso me refería.
__________________
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.
Responder Con Cita
  #6  
Antiguo 22-09-2008
jocey jocey is offline
Miembro
 
Registrado: ene 2007
Posts: 111
Poder: 20
jocey Va por buen camino
Servicio con windows

No compilan, por ejemplo este
Código Delphi [-]
function iniciarServicio (sMachine, sService: String) : Boolean;
var
  schm,
  schs: SC_Handle;
  ss: TServiceStatus;
  psTemp: PChar;
  dwChkP: DWord;
begin
  ss.dwCurrentState := -1;
  schm := OpenSCManager(PChar(sMachine), nil, SC_MANAGER_CONNECT);
  if (schm>0) then
  begin
    schs := OpenService(schm, PChar(sService), SERVICE_START or
      SERVICE_QUERY_STATUS);
    if (schs>0) then
    begin
      psTemp := nil;
      if (StartService(schs, 0, psTemp)) then
        if (QueryServiceStatus(schs, ss)) then
          while (SERVICE_RUNNING<>ss.dwCurrentState) do
          begin
            dwChkP := ss.dwCheckPoint;
            Sleep(ss.dwWaitHint);
            if (not QueryServiceStatus(schs, ss)) then
              Break;
            if (ss.dwCheckPoint < dwChkP) then
              Break;
          end;
      CloseServiceHandle(schs);
    end;
    CloseServiceHandle(schm);
  end;
  Result := SERVICE_RUNNING=ss.dwCurrentState;
end;

la parte sudbrayada en rojo, ojo, se que es un cardinal y el valor esta fuera de rango, ahora, asi estaba en el truco que encontre... esto es lo que me pasa
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Servicios de Windows Eklypsex API de Windows 3 31-10-2008 19:30:13
Listar los servicios instalados en Windows XP fide API de Windows 2 01-03-2008 17:05:11
programar servicios en WINDOWS-XP jesusid Servers 3 20-01-2007 02:25:32
Servicios en windows vista seoane Noticias 10 08-06-2006 02:52:35


La franja horaria es GMT +2. Ahora son las 00:28:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi