Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   ayuda con WinSvc UNIt (https://www.clubdelphi.com/foros/showthread.php?t=36323)

javier20 08-10-2006 03:48:34

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? :confused:

seoane 08-10-2006 04:06:00

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.

dec 08-10-2006 04:20:44

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? ;)

dec 08-10-2006 04:22:39

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. :)

javier20 08-10-2006 04:43:34

si muchisimas gracias dec, es justo lo q andaba buscando:)

dec 08-10-2006 04:46:37

Hola,

Cita:

Empezado por javier20
si muchisimas gracias dec, es justo lo q andaba buscando

Eso, a Seoane que le den morcillas. :eek: :D

seoane 08-10-2006 04:53:18

Cita:

Empezado por dec
Eso, a Seoane que le den morcillas. :eek: :D

:( Mi mensaje era muy chiquito comparado con el tuyo y ni lo leyó.

dec 08-10-2006 05:02:33

Hola,

Pero, todo el mundo sabe que el tamaño no importa, y podría poner cien mil ejemplos. :D :D

Bueno, en todo caso Domingo, sabes, perfectamente, que se te aprecia. :)

javier20 08-10-2006 05:09:07

si seoane disculapas, y gracias por potear! lo q pasa como dijo dec, lo pase por arriba casi , pero si el tema era q lo estaba haciendo con CreateService, pero muchas gracias =
Saludos a los 2!!!!!!

dec 08-10-2006 05:38:26

Hola,

Cita:

Empezado por Javier
si seoane disculapas, y gracias por potear!

¿Disculapas qué es una nueva especie animal?

¿Potear tiene que ver con Harry Potter o tal vez sea lo que sucede luego de beber en exceso? :D

¿Movemos este Hilo a la taberna, entonces? :D :D

seoane 08-10-2006 13:24:38

Ten cuidado David, a lo mejor no se da cuenta que estamos de broma y termina por enfadarse :D :D Aunque lo de "potear" tampoco se como tomármelo

dec 08-10-2006 13:42:37

Hola,

Sí; la verdad es que lo de potear puede tener un doble sentido que no sé yo... Y bueno, si cambiamos la o por una u ya te cuento. :D :D

javier20 09-10-2006 03:10:42

che bueno paren la moto:mad: es que escribi sin mirar el teclado ni el monitor, en ese momrnto estaba escuchando un tema de Metallica, pues eso nada mas.byes:)

javier20 09-10-2006 03:14:28

A y otra cosa q me olvida ,si quieren podemos seguir chateando, nada mas agreguenme al messenger:p

dec 09-10-2006 03:26:29

Hola,

Cita:

Empezado por Javier
che bueno paren la moto :mad:

:D :D :D


La franja horaria es GMT +2. Ahora son las 15:34:06.

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