Pregunta

Estoy intentando crear un servicio de Windows con C# en .net que se ejecute antes de que el usuario inicie sesión...luego, cuando un usuario inicia sesión, debería aparecer un símbolo en la bandeja del sistema (al lado del reloj) para mostrarle al usuario que el servicio se está ejecutando.al hacer doble clic en ese símbolo, se le debe mostrar al usuario una utilidad de configuración (escrita en wpf), para que pueda configurar el servicio, leer datos del mismo, etc.

¿Existe la posibilidad de hacer esto dentro de una aplicación?

¡¡¡Gracias de antemano por cualquier ayuda!!!

¿Fue útil?

Solución

No, no puede hacer esto con una aplicación ya que los servicios se ejecutan con un usuario diferente en una sesión diferente.Debe crear dos aplicaciones e implementar alguna comunicación entre ambos.

No recomendaría usar los tubos con nombre directamente (como KIEREN Johnstone sugerido), pero para echar un vistazo a WCF que fue diseñado para la comunicación de interproceso y los detalles de implementación muy abstractos de la tecnología de la comunicación alejados de usted.Aquí hay un enlace que puede ayudarlo adecuadamente con WCF: http://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interprocess-communication .

Saludos cordiales,
Oliver Hanappi

Otros consejos

Dentro de una aplicación, no.Los servicios se ejecutan en la sesión 0, consulte aquí:

http://www.microsoft.com/whdc/system/sysinternals/session0changes.mspx

Su mejor opción es utilizar Named Pipes, consulte aquí:

http://www.switchonthecode.com/tutorials/dotnet-35-adds-named-pipes-support

....o un archivo mapeado en memoria, consulte aquí:

http://msdn.microsoft.com/en-us/library/dd997372.aspx

Dentro del alcance de more-.NETty, también puede utilizar Remoting.Deberá crear alguna interfaz o protocolo para facilitar la comunicación entre el servicio y la utilidad de administración.Administrar el inicio/detención del proceso sería más fácil y podría usar el ServiceController clase (referencia de MSDN).

¡Espero que ayude (y no sea demasiado desalentador)!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top