Windows NT - Servicio

 
Vista:

Servicio

Publicado por Laura (5 intervenciones) el 17/09/2003 12:52:27
Hola , tengo un problema. Tengo una aplicación en C++ que utilizando los programas instsrv.exe y srvany.exe ya lo tengo como servicio. Este servicio lo tengo como automático y que interactue con el escritorio paa que aparezca la aplicación en pantalla. Pues bien, aunque lo tengo automático no arranca al iniciarse el PC. Lo tengo que hacer manualmente. ¿Alguien puede decirme algo de pq? Gracias,Laura
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Servicio

Publicado por Javier Ruiz (814 intervenciones) el 22/09/2003 13:43:36
Te he dejado la respuesta en el mail.
Saludos,
Javi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Servicio

Publicado por Laura (5 intervenciones) el 23/09/2003 10:01:45
Hola Javi, gracias por la respuesta. Ya se lanza bien, pero me sale un problema generado por el componente TrayIcon que tengo en la aplicación(C++):
Error Reading TrayIcon->Visible : cannot create system shell notification icon
Este error solo me da cuando el servicio está automático y no cuando lo arranco manualmente.
¿Te suenta? Gracias de todas formas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Servicio

Publicado por Javier Ruiz (814 intervenciones) el 23/09/2003 10:28:45
Sí me suena.....verás el problema con ese mensaje (yo lo he visto en XP nada más) sucede debido a que tu programa intenta colocar un icono en la barra de tareas antes de que la misma esté preparada. Esto sucede porque la ejecución de los servicios es prioritaria y se ejecutan antes que la preparación de la barra de tareas. También puede suceder que la barra esté bloqueada por algún otro programa, cómo un antivirus. Tienes dos soluciones....o detectas en tu programa que la barra de tareas esté disponible y luego colocas el icono , o implementas un retardo antes de colocar el icono (unos 15 ó 20 segundos).
Saludos,
Javi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Servicio

Publicado por Laura (5 intervenciones) el 24/09/2003 10:03:59
Hola Javi, de las dos opciones, la del retardo no la usaría(creo que te he entendido bien) ya que quiero que mi programa quede como servicio sin que haga un login el usuario, luego aunque lo retarde , si el usuario entra en un tiempo superior al de espera establecido para el icono me sigue saliendo el mismo error.
La otra opción: no se como detectar que la barra de tareas esté disponible, y estoy intentando desde C++ saber si el PC está iniciado con o sin login. GetUserName, no es correcto ya que me da el usuario del system aunque no ponga login
Si sabes como hacerlo te agradecería que me lo dijeras, de todas formas si encuentro algo lo digo.
Gracias,Laura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Servicio

Publicado por Javier Ruiz (814 intervenciones) el 24/09/2003 15:39:00
Lo del retardo te puede funcionar si puedes capturar el error que se produce al intentar colocar el icono (suponiendo que el error lo genere tu programa), de tal forma puedes seguir retardando ubicar el icono hasta que no te devuelva ningún error.
De todas formas pensaré en alguna otra cosa por si acaso eso no va.
Saludos,
Javi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Servicio

Publicado por Laura (5 intervenciones) el 25/09/2003 09:56:04
Hola Javi, ¡¡funciona!!, hice lo que me dijiste de un timer que hiciera visible el componente TrayIcon. Si da error, simplemente se captura y no se hace nada. Así tanto si el usuario no introduce el login como si no está preparada la barra de tareas, no hace nada pero está activo.
Muchas Gracias,Laura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Servicio

Publicado por Laura (5 intervenciones) el 25/09/2003 11:08:59
Hola otra vez, la alegría del ¡¡funciona!! se ha cambiado por ¡¡funciona a veces!!. Cuando el usuario enciende el equipo, y sin poner login el servicio está activo, sin embargo, cuando una vez que ha puesto el login, el servicio se muestra(esto está bien) y el usuario da a cerrar sesion de ese usuario, y se vuelve a la pantalla de petición de login,el servicio ya no está activo ni cuando vuelves a poner el login.
¿por que hace eso?
Gracias,Laura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar