Fecha y hora actual: Miércoles 19 Feb 2020 19:24
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

hacer un servicio

Responder al Tema

Índice del Foro > Visual Basic .NET > hacer un servicio

Autor Mensaje
jep90
Usuario Inquieto


Registrado: 17 Dic 2009
Mensajes: 48

Mensaje Publicado: Sábado 09 Jul 2011 01:45

Título del mensaje: hacer un servicio

Responder citando

Hola amigos, estoy generando una solucion en vb.net en la que tengo un proyecto de servicio y uno de formulario. El tema es que quiero que el usuario pueda elegir si el servicio se inicia automaticamente o no y no se como hacerlo.
Por otro lado, ¿podré llamar a un formulario desde el servicio?
Espero sus respuestas
Saludos
jep

Volver arriba
Ver perfil del usuario Enviar mensaje privado
JamTe
Usuario Inquieto


Registrado: 30 Jun 2011
Mensajes: 73
Ubicación: En todas partes menos en la cama

Mensaje Publicado: Sábado 09 Jul 2011 12:56

Título del mensaje: Re: hacer un servicio

Responder citando

¿Que es un servicio?

Volver arriba
Ver perfil del usuario Enviar mensaje privado
jep90
Usuario Inquieto


Registrado: 17 Dic 2009
Mensajes: 48

Mensaje Publicado: Sábado 09 Jul 2011 16:58

Título del mensaje: Re: hacer un servicio

Responder citando

un proceso sin interfaz

Volver arriba
Ver perfil del usuario Enviar mensaje privado
weirdmix
Moderador Global


Registrado: 08 May 2008
Mensajes: 1385
Ubicación: Mérida - MEXICO

Mensaje Publicado: Martes 12 Jul 2011 18:39

Título del mensaje: Re: hacer un servicio

Responder citando

si te refieres a un servicio web o web service, no estan pensandos para que un usuario pueda decirle activate o desactivate, uno de los motivos de su existencia es q lo puedes llamar en cualquier momento...

por otro lado no es posible que el web service acceda nada, es de lo mismo, estan pensando para ser consumidos y no para ser consumidores...

saludos
Super Super Super


------------------------------
WeirdMix
Colaborador y Moderador Global
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo MSN Messenger
Eamanesan
Usuario Inquieto


Registrado: 11 Feb 2010
Mensajes: 50

Mensaje Publicado: Jueves 14 Jul 2011 16:54

Título del mensaje: Re: hacer un servicio

Responder citando

holas, puedes poner un combo con ambas opciones o 2 botones o cmo quieras y dependiendo de lo q pulse pones el form invisible(automatico) o visible(manual), si esta en frma manual, supongo para hacer lo q tengas q hacer el usuario tiene q hacer algo cncreto como pulsar un bton o algo asi), si lo pone automatico eso q tiene q hacercuando el usuario pulsa el bton lo tiene q hacer el programa automaticamente, por ej yo tenia uno q hacia actualizaciones en bbdd, entonces en manual el usuario le daba al bton y veia el proceso, en automatico directamente yo le mandaba hacer lo mismo q hacia al pulsar el boton (llamas a la funcion y listo) pero directamente y ponia hide o invisible el formulario.

suerte! =)


http://www.wix.com/mysticsims/mainmenu
Volver arriba
Ver perfil del usuario Enviar mensaje privado
Eamanesan
Usuario Inquieto


Registrado: 11 Feb 2010
Mensajes: 50

Mensaje Publicado: Jueves 14 Jul 2011 17:58

Título del mensaje: Re: hacer un servicio

Responder citando

ah!! se m olvidaba q si es automatico, supongo q querras q se lance a una hora cncreta, para eso tendrias q comprar con la hora del sistema y la q tu quieres q se lance


http://www.wix.com/mysticsims/mainmenu
Volver arriba
Ver perfil del usuario Enviar mensaje privado
WhiteSkull
CoAdmin


Registrado: 20 Mar 2009
Mensajes: 3136
Ubicación: y*width+x

Mensaje Publicado: Viernes 15 Jul 2011 17:58

Título del mensaje: Re: hacer un servicio

Responder citando

Los servicios no son solamente WEB, son aplicaciones que tienen una naturaleza diferente a las aplicaciones comunes con interfaz o sin ella. La particularidad más destacada, es que se son iniciados con la sesión del usuario, posibilitando su parada o continuación, y que no permiten que los usuarios puedan manipularla directamente (interactuar).

Referencias:
http://www.microsoft.com/spain/windowsserver2003/technologies/fileandprint/print/default.aspx
http://www.elguille.info/NET/dotnet/serviciosWindows.htm
http://msdn.microsoft.com/en-us/library/9k985bc9
http://support.microsoft.com/kb/137890
http://www.c-sharpcorner.com/UploadFile/mahesh/window_service11262005045007AM/window_service.aspx

Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor
jep90
Usuario Inquieto


Registrado: 17 Dic 2009
Mensajes: 48

Mensaje Publicado: Martes 19 Jul 2011 16:38

Título del mensaje: Re: hacer un servicio

Responder citando

Muchas gracias.

Volver arriba
Ver perfil del usuario Enviar mensaje privado
B-Yo
Colaborador


Registrado: 21 May 2010
Mensajes: 254

Mensaje Publicado: Viernes 22 Jul 2011 18:28

Título del mensaje: Re: hacer un servicio

Responder citando

Los Servicios en Windows o más conocidos como Demonios en otros S.O tipo (*nix) son aplicaciones normales y corrientes... Más que aplicaciones sin interfaz, son aplicaciones que por su definición se preparan para ejecutarse en background...
Casi todas las aplicaciones de tipo Servidor, funcionan así...
Un claro ejemplo pueden ser los SGDB(Sistemas Gestores de Base de Datos), servidores de comunicaciones...

Esta claro que lo que es el servidor en sí lo natural es que se ejecute en background (este a la escucha, reciba y conteste peticiones etc, etc), ahora eso no quiere decir que luego no disponga de interfaces capaces de interactuar con esta aplicación para cambiar sus opciones, trabajar, etc.

Para hacer funcionar estos servicios podemos hacer uso de las cuentas de usuario normales (cuenta User) o algunas cuentas especiales de Windows como NetworkService, LocalService o Local System, dependiendo de las tareas que necesite realizar nuestra aplicación y por lo tanto su nivel de accesibilidad, escogeremos la más indicada...

Aunque bueno, ya que la pregunta la inicio Jep90 y por lo que dice ya ha creado el servicio, todo eso ya debería saberlo...

En cuanto a el tipo de inicio del servicio no la verdad es que no le encuentro la utilidad que tenga a posteriorí...

Una cosa es el control del servicio (Ver su estado, detenerlo, pausarlo, iniciarlo, etc), para lo cual disponemos de ServiceController y otra cosa es el tipo inicio en el sistema del servicio.

La opción por defecto para este parámetro, como ya sabrás, se la indicamos en la parte en que creamos el sistema de instalación de nuestro servicio Windows ServiceInstaller --> StartType

Pero claro una vez instalado en nuestro sistema... Si lo piensas esa opción ya no es configurable por nuestra aplicación, ya que no es una propiedad de la misma, sino, que es el sistema operativo el que controla esa propiedad... En caso contrario el S.O. debería iniciar todas las aplicaciones para que estas le dijeran si deben ejecutarse o no, lo cual no tendría ningún sentido...

Así que en resumen, lo que hay que modificar no es nada de tu aplicación, tienes que modificar esa opción directamente en el S.O.
Para hacer esto existen varias opciones:

1. De forma manual desde la pantalla de control de los servicios (Inicio-->Panel de control--> Servicios / Inicio-->Ejecutar-->Services.msc).

2. Modificando el valor Start del servicio que desees modificar en la clave del registro HKLM\System\CurrentControlSet\Services, donde:

2 = Automático
3 = Manual
4 = Deshabilitado

3. La opción más "complicada" que es por la que tu preguntas... Desde un lenguaje de progrmación o un lenguaje de Scripting haciendo uso de WMI(Windows Magnagement Instrumentation).
WMI es un sistema que introdujo Microsoft desde Windows 2000 para facilitar la existencia de los programadores/administradores de sistema... Es un medio mediante el cual podemos consultar y modificar muchas de las propiedades directas de nuestro sistema...

Así que lo primero que debemos indagar es sobre como podemos acceder a los servicios de windows a través de WMI. Vamos a ver las distintas clases que integran WMI:

http://msdn.microsoft.com/en-us/library/aa394554%28v=VS.85%29.aspx

Umm por la descripción diría que lo que buscamos debe estar en Win32_Classes:
http://msdn.microsoft.com/en-us/library/aa394084%28v=VS.85%29.aspx

Y mira por donde, tenemos una clase llamada Win32_Service: Guiño .
http://msdn.microsoft.com/en-us/library/aa394418%28v=VS.85%29.aspx

La cual tiene el método ChangeStartMode...
http://msdn.microsoft.com/en-us/library/aa384896%28v=VS.85%29.aspx

Ok, pues ya lo tenemos localizado, encima como estos chicos de .Net en el fondo son buena gente, nos incluyen un sistema (System.Magnagement) para que nos sea más fácil interactuar con WMI. Si en el fondo son majetes... Fumao Fumao Fumao .

http://msdn.microsoft.com/es-es/library/system.management%28VS.80%29.aspx

Así que lo primero es importar ese espacio de nombres a las referencias de tu proyecto y basta con un código tan simple como este para modificar la propiedad del servicio:

Código:

Dim WMIObjeto As New ManagementObject("Win32_Service.Name='NombreDeTuServicio'")
' Indicamos que el servicio debe iniciarse de forma manual.
Dim Valor(0) As Object
Valor(0) = "Manual"
WMIObjeto.InvokeMethod("ChangeStartMode", Valor)


Espero te sirva de ayuda, Ok


It´s time to fly http://www.youtube.com/watch?v=Vr9BTyug4FA

Volver arriba
Ver perfil del usuario Enviar mensaje privado
WhiteSkull
CoAdmin


Registrado: 20 Mar 2009
Mensajes: 3136
Ubicación: y*width+x

Mensaje Publicado: Viernes 22 Jul 2011 23:46

Título del mensaje: Re: hacer un servicio

Responder citando

Jo tío, tu si q sabes Risa

Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

Ayuda para hacer formula en

luiscoro40 Visual Basic y VBA 0 Jueves 14 Nov 2019 15:46 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Hacer que un text field o acepte numero negativos

Jensel S.G Java 2 Viernes 13 Oct 2017 04:11 Ver último mensaje
El foro no contiene ningún mensaje nuevo

hacer un exe portable con codeblocks y las wxwi...

Nucleorion C, C#, Visual C++ 1 Martes 10 Ene 2017 12:01 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Hacer instalador con base de datos sql server

berseco Visual Basic .NET 0 Sábado 30 Jul 2016 15:16 Ver último mensaje
El foro no contiene ningún mensaje nuevo

AYUDA. Hacer una consulta de java a mysql, con ...

Larry16 Java 0 Domingo 19 Jun 2016 19:32 Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,