Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-10-2006
javier20 javier20 is offline
No confirmado
 
Registrado: oct 2006
Posts: 18
Poder: 0
javier20 Va por buen camino
ayuda con WinSvc UNIt

hola a todos, hace poco empece con delphi , estoy haciendo q mi aplication corra en modo servicio de windows, y el problema que tengo es que cuando quiero ejecutar un programa externo con Winexec lo ejecuta , pero no lo muestra ya que al ser del tipo servicio corre como proceso de SISTEMA, como por ejemplo ejecutar la calculadora de windows . Alguien tiene alguna idea de como puedo solucionarlo?
Responder Con Cita
  #2  
Antiguo 08-10-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Tienes que indicar que el servicio puede interactuar con el escritorio. Para ello tienes que utilizar la propiedad Interactive del objeto TService, si es lo que estas usando. O si estas usando funciones de la api escoger el parámetro apropiado en la función CreateService. También puedes cambiarlo manualmente en "Panel de control > Herramientas administrativas > Servicios".

Por cierto, la posibilidad de que los servicios interactúen con el escritorio desaparece por motivos de seguridad en el nuevo Windows Vista (Enlace). Así que tienes que tenerlo en cuenta a la hora de comenzar una nueva aplicación.

Última edición por seoane fecha: 08-10-2006 a las 04:09:29.
Responder Con Cita
  #3  
Antiguo 08-10-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,

¿Cómo instalas el Servicio de Windows? ¿Lo creas tú mismo en Delphi? Si es esto último utilizarás la función "CreateService" de la unidad "windows.pas" y es en esta función donde puedes especificar el tipo de Servicio de Windows que estás instalando. En concreto te interesa el parámetro "dwServiceType", del que puede leerse en la ayuda del SDK de Win32 lo siguiente:

Cita:
dwServiceType

A set of bit flags that specify the type of service. You must specify one of the following service type flags to indicate the service type. In addition, if you specify either of the SERVICE_WIN32 flags, you can also specify the SERVICE_INTERACTIVE_PROCESS flag to enable the service process to interact with the desktop.

Value Meaning

SERVICE_WIN32_OWN_PROCESS A service-type flag that specifies a Win32 service that runs in its own process.

SERVICE_WIN32_SHARE_PROCESS A service-type flag that specifies a Win32 service that shares a process with other services.

SERVICE_KERNEL_DRIVER A service-type flag that specifies a Windows NT device driver.

SERVICE_FILE_SYSTEM_DRIVER A service-type flag that specifies a Windows NT file system driver.

SERVICE_INTERACTIVE_PROCESS A flag that enables a Win32 service process to interact with the desktop.
Parece ser que en tu caso tendrías que especificar la constante/bandera "SERVICE_WIN32" y añadir "SERVICE_INTERACTIVE_PROCESS". ¿No?
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 08-10-2006 a las 04:23:27.
Responder Con Cita
  #4  
Antiguo 08-10-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,

No borro mi mensaje anterior porque acaso pueda aportar algo... pero, evidentemente, se me adelantó (y bien adelantado está) Seoane en este asunto, aportando además otras posibles soluciones y alguna que otra "noticia". Estupendo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 08-10-2006
javier20 javier20 is offline
No confirmado
 
Registrado: oct 2006
Posts: 18
Poder: 0
javier20 Va por buen camino
si muchisimas gracias dec, es justo lo q andaba buscando
Responder Con Cita
  #6  
Antiguo 08-10-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 javier20
si muchisimas gracias dec, es justo lo q andaba buscando
Eso, a Seoane que le den morcillas.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 08-10-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por dec
Eso, a Seoane que le den morcillas.
Mi mensaje era muy chiquito comparado con el tuyo y ni lo leyó.
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
Problema con Unit halcon_rojo Conexión con bases de datos 2 03-04-2006 22:26:45
unit browser jonmendi Varios 2 21-12-2005 15:10:43
Ttimer en un Unit douguiehm Varios 4 22-07-2005 18:16:04
Utilizar una Unit Jvilomar OOP 1 27-07-2004 15:50:04
Donde pillo La unit BDE Barriccel Conexión con bases de datos 2 19-11-2003 14:13:17


La franja horaria es GMT +2. Ahora son las 08:36:53.


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