La Web del Programador: Comunidad de Programadores
 
    Pregunta:  133 - VISUAL BASIC Y WINDOWS NT
Autor:  Federico
Estoy buscando algún ejemplo o documentación de como hacer un Servicio de NT (aplicación que no necesita LOGIN de usuario en la máquina para que funcione) en Visual Basic. Hasta el momento he encontrado documentación de como hacerlo en Visual C++, pero al intentar pasarlo a Visual Basic ha sido inutil, porque hay ciertas llamadas al API de Windows que no me acaban de funcionar. Por eso agradezco cualquier comentario, ejemplo o lo que sea, para poder hacer la tarea que tengo entre manos. Muchas Gracias.

  Respuesta:  Douglas González
Te informo que Microsoft tiene a disposición un control que se llama ntsvc.ocx que le permite a un programa en VB trabajar con un servicio en NT, controlando los eventos de Start, Stop, Pause y Continue. Claro esta Microsoft recomienda que los Servicios en NT no sean creados desde VB.

  Respuesta:  InCaSaS
Creo entender que tu problema es que no sabes que usuario esta conectado a tu NT. Si es así, en este sencillo ejemplillo puedes ver como sacar el susodicho. No Obstante, Si no es este tu problema, explicamele mas a fondo para poderte dar una solucion.
´Declaramos API, la cual nos devolverá el Usuario que esta conectado a la Maquina en la Actualidad.
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As Long
´
´Declaramos Variables que nos Sacaran el Usuario que está conectado.
Dim sBuffer As String
Dim lSize As Long
´
´Inicializamos Variables.
sBuffer = Space$(255)
lSize = Len(sBuffer)
´
´En La Variable sBuffer nos Devolvera el Usuario. Muy Importante: Debes quitar los chr$(0) de mas que te devuelva.
Call GetUserName(sBuffer, lSize)
Si puedes, echa un ojillo a mi URL: http://www.geocities.com/BourbonStreet/Delta/3637/index.html

  Respuesta:  MFS
Existe una aplicacion que viene con el WindowsNT ResourceKit (Creo) y que se llama SRVANY.EXE que permite convertir cualquier aplicacion VB en un servicio de WindowsNT.
Esta aplicacion se encarga del dialogo con el Control de Servicios de NT y arranca el ejecutable que le digas. Tiene una pega : Cuando detienes el servicio, este no termina de forma ordenada sino que lo hace con un TerminateProcess.