¿Cómo puedo ejecutar una aplicación en el arranque en un sistema Windows, que ha sido modificado para no correr el explorador

StackOverflow https://stackoverflow.com/questions/1121832

  •  13-09-2019
  •  | 
  •  

Pregunta

Resumen

¿Cómo puedo hacer que mi aplicación se ejecute en el arranque de interfaz gráfica de usuario de Windows en una máquina Windows modificado que no arranca explorer.exe.

  • La colocación de un enlace en Programas -> carpeta de inicio no se ejecuta.
  • Mi aplicación es gráfico por lo que no se puede simplemente modificar aplicación se ejecute como un servicio.

Fondo

Tengo una aplicación que necesita para funcionar en un PC dedicado que se utiliza para generar contenidos para Digital Signage. Es el tipo de software que genera los anuncios y diversos contenidos de diapositivas que se muestren en la pantallas de plasma / LCD en grandes organizaciones.

He tenido experiencia con diferentes proveedores de este tipo de software de gestión de contenidos y todos ellos básicamente construir una aplicación de Windows y luego tira a cosas de las ventanas para evitar cualquier tipo de menú emergente de aparecer etc. Uno uno de los vendedores I' m tratando ahora, las ventanas se ha modificado de tal manera que explorer.exe no se inicia.

La carrera en la funcionalidad de inicio de nuestro programa hace uso de un vínculo en la carpeta de inicio. Lo que he encontrado es que, dado que no se está ejecutando explorer.exe tampoco lo hace mi solicitud.

Cuando se inicia el equipo se arranca automáticamente en el modo de ejecución para la aplicación de señalización digital que empieza a mostrar el contenido programable. Puede pulsar Ctrl - Alt - Eliminar y matar a su programa y luego comenzar explorer.exe del taskmanager. Después de aproximadamente un segundo o así ... Veo mi inicio de la aplicación.

Por lo tanto, mi pregunta es - ¿Cómo puedo hacer que mi carga de aplicaciones en una máquina Windows que no arranca explorer.exe. Alguien sabe si decir utilizando una clave de registro en la carpeta Ejecutar funcionaría incluso en ausencia del explorador? ¿Hay alguna otra manera manera de hacer que el programa se ejecuta en el arranque?


Editar: Aceptado Respuesta Aplicación Notas

He implementado el enfoque en la respuesta aceptada. Aquí es el enlace que he encontrado útiles en su aplicación. Nunca hice probar el enfoque clave de registro. Si alguien confirma que se ejecutaría w / o carga explorer.exe, por favor dejar un comentario.

¿Fue útil?

Solución

Convertir su aplicación a un servicio y configurarlo como auto-arranque. Por otra parte, existen herramientas en línea para ejecutar un exe arbitraria como un servicio. Escribir uno mismo es bastante sencillo.

Si su aplicación necesita interactuar con el escritorio y crear la interfaz de usuario, necesitará su servicio para lanzar el ejecutable en el escritorio apropiado. Para ello, puede utilizar WTSEnumerateSessions para encontrar la sesión de usuario interactiva, WTSQueryUserToken para conseguir su token, entonces CreateProcessAsUser para iniciar la aplicación en el escritorio correcta como ese usuario.

Otros consejos

<HKLM|HKCU>\Software\Microsoft\Windows\CurrentVersion\Run es el lugar habitual para poner cosas, pero si eso no es lo suficientemente bueno HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon tiene una cadena denominada "Userinit" y lo hace apoyar valores separados por comas múltiple.

Si quieres entrar en la tierra indocumentado, hay un millón de lugares en el registro en el que se ponen en marcha todo: primero Autoruns de Sysinternals mientras se monitorea con RegMon / ProcessMonitor

Se podría tratar de modificar

[HKEY_CLASSES_ROOT\Folder\shell] 

establecer el valor predeterminado de ruta / nombre de su ejecutable

Esto es peligroso .. si lo ensucia, usted podría tener enormes problemas para el sistema de trabajo .. mejor esfuerzo para tratar / juego en una máquina virtual

Se puede añadir una entrada en el registro de

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

llave?

No estoy seguro de si explorer.exe es responsable de la puesta en marcha de los programas que se encuentran en esta zona o si el servidor de Windows es responsable pero vale la pena intentarlo.

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