Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Qué significa que aparezca un cuadro de diálogo de este tipo cuando aparece el escritorio al arrancar?

¿Qué significa que aparezca un cuadro de diálogo de este tipo cuando aparece el escritorio al arrancar?

Es un componente de VB

INFO: Ejecución de aplicaciones de Visual Basic como servicios de Windows NT

Consulte los productos a los que se aplica este artículo

Nota : Este artículo El artículo está traducido mediante un sistema de traducción automática sin intervención humana. Microsoft proporciona estos artículos para que los usuarios que no entienden inglés puedan comprender su contenido. Microsoft no garantiza la exactitud de la traducción automática y no es responsable de ningún posible problema directo o indirecto causado por una mala traducción del contenido o el uso que los clientes hacen del mismo.

Número de artículo: 175948

Última modificación: 23 de noviembre de 2006

Revisión: 3.1

Esta página

Resumen

Más información

Comportamiento estable

¿Por qué es inestable?

Solución alternativa

Otras tecnologías

Referencia

Resumen

Actualmente, Microsoft no recomienda ni admite la ejecución de aplicaciones de Visual Basic como Microsoft Windows NT, Windows 2000 y Windows XP Services. como aplicaciones Los programas pueden experimentar un comportamiento estable al instalar y ejecutar los servicios de Microsoft Windows. Microsoft Visual Basic 4.0 no admite devoluciones de llamada ni Visual Basic 4.0 es seguro para subprocesos. En Visual Basic 5.0 y 6.0, donde existe seguridad de subprocesos del modelo de apartamento, no hay forma de volver a reunir llamadas a un programa de Visual Basic a través del operador AddressOf. Este comportamiento es por diseño. Este artículo contiene algunos ejemplos de este comportamiento estable, una breve descripción de las posibles causas de inestabilidad y posibles soluciones. Microsoft proporciona ejemplos de programación solo con fines ilustrativos, sin garantía expresa o implícita, incluidas, entre otras, las garantías implícitas de comerciabilidad y/o idoneidad para un propósito particular. Este artículo supone que está familiarizado con el lenguaje de programación y las herramientas utilizadas para crear y depurar el proceso. Los especialistas de soporte técnico de Microsoft pueden ayudar a explicar la funcionalidad de un procedimiento específico, pero no modificarán estos ejemplos para proporcionar funcionalidad adicional ni crearán procedimientos que se adapten a sus necesidades específicas. Si tiene experiencia limitada en programación, comuníquese con un socio certificado de Microsoft o con la línea telefónica de consultoría de Microsoft al (800) 936-5200. Para obtener información sobre los socios certificados de Microsoft, visite el siguiente sitio web de Microsoft:

tactms)

Volver al principio

Más información

Es Comportamiento estable

1. Cuando una aplicación de Microsoft Visual Basic muestra un cuadro de diálogo y luego finaliza, el nombre del archivo .EXE no aparece en el cuadro de diálogo del subprograma de servicio, sino en el rectángulo gris detrás del cuadro de diálogo de la aplicación de Visual Basic. El cuadro permanece en la interfaz de usuario.

2. Cuando una aplicación de Microsoft Visual Basic se inicia desde un servicio, el nombre del archivo .EXE aparece brevemente en el cuadro de diálogo del subprograma de servicio, pero la aplicación de Visual Basic no parece iniciarse.

3. La aplicación Microsoft Visual Basic que es un servidor OLE devolverá el atributo de solo lectura exitosamente y, cuando finalice el servidor OLE, el nombre del archivo .EXE desaparecerá del cuadro de diálogo Subprograma de servicio. Aún no, los intentos posteriores de crear una instancia del servidor OLE fallan con un error de automatización OLE o bloquean el proceso de servicio.

4. Se produce un mensaje de error porque la función de devolución de llamada es llamada por un hilo que no fue creado por Visual Basic. Algunas funciones API utilizan el modelo de subprocesos disponible.

Visual Basic solo admite subprocesos de modelo de unidad. Para obtener información adicional sobre este problema, haga clic en el número de artículo para verlo en Microsoft Knowledge Base:

198607 (/kb/198607/EN-US/) PRB: visite Conflicto en la ejecución de VB usando AddressOf

Volver al inicio

¿Por qué es esto inestable?

Un servicio en Microsoft Windows es un programa escrito como una aplicación de consola y Ejecute el tiempo de ejecución del sistema operativo. Los servicios generalmente se emplean para proporcionar funcionalidades como auditar la actividad del sistema de replicación de directorios, monitorear procesos o soporte de comunicaciones.

La cuenta LocalSystem, que utilizan los procesos del sistema para iniciar sesión en Microsoft Windows NT, Windows 2000 y Windows XP, es un servicio de cuenta local predefinido.

Los servicios que se ejecutan en el contexto de la cuenta LocalSystem heredan estas características: • El servicio no puede abrir la clave de registro HKEY_CURRENT_USER. El servicio abre la clave de registro HKEY_LOCAL_MACHINE\SECURITY. El servicio tiene acceso limitado a recursos de red, como recursos compartidos y canalizaciones, porque no tiene credenciales y debe utilizar una conexión de sesión nula. Si el servicio abre una ventana de comandos y ejecuta un archivo por lotes, el usuario puede presionar Ctrl+C para finalizar el archivo por lotes y acceder a la ventana de comandos usando los permisos de LocalSystem. Los servicios abiertos no pueden compartir objetos con otras aplicaciones a menos que utilicen una DACL, que permite el acceso a un usuario o grupo de usuarios, o una DACL NULL, que permite que cualquiera acceda al servicio abierto. Especificar NULL no equivale a especificar NULL DACL, lo que significa que el acceso solo se otorga a aplicaciones con el mismo contexto de seguridad. Los servicios que requieren más de un breve momento para realizar la inicialización necesaria pueden necesitar crear otro hilo para manejar la inicialización común mientras el hilo principal continúa.

Por convención, los servicios de Microsoft Windows están diseñados para no ser interactivos. Es decir, en la mayoría de los casos realizan su trabajo sin la interacción del usuario. Los servicios normalmente se configuran y controlan mediante subprogramas instalados en el Panel de control. Esto requiere que los programadores agreguen código para proporcionar estos requisitos adicionales: • Informar advertencias y errores en el registro del sistema o de la aplicación. Por lo general, la salida a la pantalla no se puede utilizar porque ningún usuario puede iniciar sesión. Controle los servicios a través de aplicaciones independientes o subprogramas del panel de control. Esto incluye implementar mecanismos de comunicación para sus servicios. Instalar y eliminar servicios del sistema.

Sin embargo, con Microsoft Visual Basic 4.0, existe la posibilidad de que la aplicación eventualmente publique un cuadro de diálogo de error de manejo desde el cual se bloqueará el proceso del Servicio de aplicación de Microsoft Visual Basic.

La opción de compilación EXE desatendida utilizada con Microsoft Visual Basic 5.0 y 6.0 no resuelve el problema inesperado del cuadro de diálogo, pero sí los problemas de seguridad de subprocesos. Visual Basic 5.0 y 6.0 son seguros para subprocesos en el modelo de apartamento a menos o hasta que un programa utilice el operador AddressOf. Actualmente no hay forma de reunir varias llamadas a Visual Basic en una aplicación de Visual Basic 5.0 o 6.0 a través del operador AddressOf. Por lo tanto, se recomienda no instalar aplicaciones de Microsoft Visual Basic como servicios de Microsoft Windows NT.

Volver al principio

Solución alternativa

El artículo técnico de Microsoft, "Servicios NT: un control OLE para crear servicios Windows NT en Visual Basic", describe la solución OLE. control. Esta función permite a los desarrolladores crear aplicaciones de Visual Basic como servicios de Microsoft Windows NT. Con el control NTService, puede instalar servicios, responder a eventos de inicio de sesión e iniciar, detener, pausar y continuar eventos. Este artículo se puede encontrar en el siguiente sitio web:

/library/techart/msdn_ntsrvocx.htm (/library/techart/msdn_ntsrvocx.htm)

Nota: Microsoft no recomienda, y no admite la ejecución de aplicaciones de Visual Basic como servicios de Microsoft Windows NT, Windows 2000 y Windows XP, incluso cuando utiliza Ntsrv.ocx.

Volver al inicio

Otras tecnologías

Los desarrolladores pueden tener dificultades para escribir servicios de Microsoft Windows utilizando tecnologías de Microsoft como ODBC, DCOM, OLE Automation y Microsoft. Trabajo Visual Basic. Por este motivo, y por los motivos ya indicados, Microsoft recomienda que los desarrolladores que escriben servicios de Microsoft Windows NT en Microsoft Visual Basic eviten el uso de estas técnicas.

Volver al inicio

Referencias

Para obtener más información, consulte el siguiente directorio en MSDN:

\Platform SDK\Windows Basic Services \Executables\Services

Para obtener más información, consulte los siguientes libros:

Francesco Balena Programación Microsoft Visual Basic 6.0 (/fwlink/?LinkId=8386 )MicrosoftPress 2001

Para obtener información adicional, haga clic en el número de artículo para verlo en Microsoft Knowledge Base: 198607 (/kb/198607/EN-US/) PRB: conflicto de acceso en tiempo de ejecución usando AddressOf en VB

170883 (/kb/170883/EN-US/) HOWTO: Uso de NTSVC.OCX desde Visual Basic

150777 (/kb/150777/EN-US/) INFORMACIÓN: Descripción y funcionamiento del modelo de subprocesos OLE

137890 (/kb/137890/EN-US/) CÓMO: Crear un servicio definido por el usuario

Volver al inicio

Recomendaciones

Busque en el registro y elimine todas las claves que contengan "ntsvc.ocx"...

O busque este archivo en el disco de instalación de VB y cópielo en el directorio del sistema

Referencia: /. kb/q175948