Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-01-2006
Rysiu Rysiu is offline
Registrado
 
Registrado: ene 2006
Posts: 1
Poder: 0
Rysiu Va por buen camino
Unhappy Aplicación como Servicio

Hola a todos:

Quiero hacer una aplicacion que funcione como servicio en Windows, de esta manera al aplicacion estara funcionando sin necesidad de iniciar sesion en Windows. Ademas de esto, quiero que cuando se inicie sesion, salga un icono en "al lado del reloj de windows" de mi aplicacion para que el usuario pueda interactuar con ella.

Bien, el problema es que el servicio no me arranca. Ahora mismo el unico codigo que he añadido al proyecto de servicio es:

Código Delphi [-]
procedure TService1.ServiceExecute(Sender: TService);
begin
    try
       TrayIcon1.Visible:=True;
       i:=1;
       while not Terminated do begin
          Sleep(10000);
       end;
    finally
       TrayIcon1.Visible:=False;
    end;
end;

¿Alguna idea?


Muchas gracias

Última edición por dec fecha: 15-01-2006 a las 13:24:59.
Responder Con Cita
  #2  
Antiguo 15-01-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Rysiu
Quiero hacer una aplicacion que funcione como servicio en Windows, de esta manera al aplicacion estara funcionando sin necesidad de iniciar sesion en Windows.
Eso creo que depende del propio Servicio, de su necesidad. Quiero decir que es posible determinar el "tipo de cuenta" en que se ejecutará el Servicio, es decir, en una de las cuentas "User", "Local Service", "Network Service" o "Local System". No estoy diciendo que tenga muy claro el alcanze de cada una de estas "cuentas" en que puede ejecutarse un Servicio de Windows, de hecho estoy refrescando mi memoria con la ayuda de Visual Studio y "inspector de objetos" mostrando las propiedades de un objeto "serviceProcessInstaller".

Cita:
Empezado por Rysiu
Ademas de esto, quiero que cuando se inicie sesion, salga un icono en "al lado del reloj de windows" de mi aplicacion para que el usuario pueda interactuar con ella.
Según he leído en algún libro y he podido comprobar en ciertas aplicaciones (por ejemplo FireBird) lo que se hace es una aplicación que sea la que medie entre el usuario y el Servicio de Windows de marras. Es decir, una cosa es el Servicio de Windows y otra la aplicación que ayude al usuario a interactuar con el Servicio de Windows.

Siendo así no tendrás problema en que dicha aplicación se iniciara junto a Windows y mostrase un icono en la bandeja del sistema: son cosas relativamente sencillas de conseguir con Delphi. Otro tema sería que el propio Servicio se dedicara a intereactuar con el usuario, pero, ya digo que esto no es lo común ni lo más acertado parece ser.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 15-01-2006
Avatar de OSKR
OSKR OSKR is offline
Miembro
 
Registrado: nov 2004
Ubicación: San Cristóbal/Táchira/Venezuela
Posts: 389
Poder: 20
OSKR Va por buen camino
Tal vez si arranca, pero muere de una vez, eso suele pasar!!! suponiendo q ya sabes como correrlo, mira la ayuda del evento OnExecute y del OnStart, sino creas algun hilo ahí, el servicio morirá, tienes q aplicar un true a la propiedad Interactive y generar el Icono cuando el Explorer ya este cargado o te puede generar una Excepcion, para esto lista los procesos actuales y chekea si esta el explorer o miras si ya ha llegado la señal de la carga de este ( este ultimo lo Explico Román hace algún tiempo ), por lo general se coloca un ciclo infinito donde previamente se carga una hebra para hacer lo q se qiere y se habilita la posibilidad de ser parado, continuado, etc... aqi este tema ya se ha tratado, por falta de tiempo no te puedo poner los link
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad."
Simón Bolívar
(Carta al Coronel Inglés Patricio Cambell 05/08/1829).
Responder Con Cita
  #4  
Antiguo 15-01-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Si tenemos la necesidad de desarollar un Servicio de Windows (y recalco esto porque este tipo de aplicaciones no es el habitual, pasa un poco me temo que con las aplicaciones multi-hilo, que, de no ser necesarias, no tienen sentido, claro está) creo que mejor será dejar al Servicio hacer lo que tenga que hacer.

Esto es, si necesitamos además que el usuario pueda interactuar con el Servicio de Windows, y los programas que para esta tarea cuenta Windows no nos parecen suficientes, de acuerdo, prográmese una aplicación que sea la que medie entre el usuario y el Servicio de Windows.

Porque no veo dónde está lo positivo de que el Servicio tenga que estar pendiente de si el proceso "explorer" se ha iniciado para así mostrar un icono en la bandeja del sistema, por ejemplo. Está claro que el el usuario no ha iniciado una sesión este no va a interactuar con el Servicio. Por lo tanto, hagamos una aplicación que se iniciará (si es menester) cuando se inicie Windows, esto es, cuando el usuario inicie una sesión.

Y que sea ese programa el que trate con el Servicio de Windows, es decir, lo pueda pausar, reanudar, poner en marcha, parar, cambiar su forma de inicio, etc., etc., etc. ¿No?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 15-01-2006
Avatar de OSKR
OSKR OSKR is offline
Miembro
 
Registrado: nov 2004
Ubicación: San Cristóbal/Táchira/Venezuela
Posts: 389
Poder: 20
OSKR Va por buen camino
Cita:
Porque no veo dónde está lo positivo de que el Servicio tenga que estar pendiente de si el proceso "explorer"
Donde se supone q se mostrará el icono sin haber barra?
Cita:
Si tenemos la necesidad de desarollar un Servicio de Windows (y recalco esto porque este tipo de aplicaciones no es el habitual, pasa un poco me temo que con las aplicaciones multi-hilo, que, de no ser necesarias, no tienen sentido, claro está) creo que mejor será dejar al Servicio hacer lo que tenga que hacer.
Eso lo aclara la ayuda, además el servicio por lo general se carga una vez... el resto de peticiones son hebras del mismo.
Cita:
Está claro que el el usuario no ha iniciado una sesión este no va a interactuar con el Servicio. Por lo tanto, hagamos una aplicación que se iniciará (si es menester) cuando se inicie Windows, esto es, cuando el usuario inicie una sesión.
Eso se hace manipulando registros del sistema pero
Cita:
Originalmente Escrito por Rysiu
Quiero hacer una aplicacion que funcione como servicio en Windows, de esta manera al aplicacion estara funcionando sin necesidad de iniciar sesion en Windows.
no se puede depender de la sesión, cuando se cierra la sesión una aplicación de este tipo MUERE.
Cita:
Y que sea ese programa el que trate con el Servicio de Windows, es decir, lo pueda pausar, reanudar, poner en marcha, parar, cambiar su forma de inicio, etc., etc., etc. ¿No?
Eso depende....lógicamente la hebra decide cuando terminar, pero el administrador DEBERIA PODER DECIDIR cuando pararlo.
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad."
Simón Bolívar
(Carta al Coronel Inglés Patricio Cambell 05/08/1829).
Responder Con Cita
Respuesta



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
Como puedo empaquetar una aplicacion delphi, y que contenga los componentes de crysta Shidalis OOP 1 20-08-2005 15:13:01
Como enviar un mail desde una aplicacion herodes Varios 3 20-04-2005 17:20:17
como obtengo la version de mi aplicacion? squenda Varios 4 13-01-2005 23:33:40
Como podría trabajar con una Aplicación de otra RED???? AGAG4 Varios 0 15-10-2004 18:47:52
ejecutar aplicacion desde delphi como otro usuario aram2r API de Windows 3 03-06-2004 10:36:12


La franja horaria es GMT +2. Ahora son las 15:48:20.


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