Archivo de la categoría: Informática

Un cajón de sastre donde comento temas relacionados con el mundo de la informática

Explorer.exe en Windows

Hace poco tuvimos en mi trabajo la necesidad de sustituir el proceso explorer.exe de un portátil para que sólo mostrase una ventana con 3 opciones y que el usuario no pudiese hacer nada más.

El explorer.exe es un proceso que cuando se ejecuta al principio muestra el escritorio de Windows y en las sucesivas ocasiones muestra el explorador de ficheros.

Se puede sustituir fácilmente accediendo a la entrada del registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon y modificando el valor Shell por otro ejecutable.

El ejecutable debe estar normalmente en la ruta C:\Windows y puede ser cualquier programa con interfaz gráfica. El nuestro creaba una ventana que ocupaba todo el monitor, con un logotipo de fondo, sin marco y tenía varios botones para cargar otras aplicaciones, reiniciar y apagar.

Para labores de mantenimiento teníamos un botón que debía poner el escritorio de Windows cuando se pulsaba, y lo lógico era pensar que si desde nuestra aplicación ejecutábamos el fichero explorer.exe se mostraría, pero eso no ocurría y solamente nos aparecía el explorador de ficheros. Al final comprobamos que este comportamiento se debía a que el proceso explorer.exe sólo muestra el escritorio de Windows si se cumplen dos condiciones:

  1. Que no exista otro proceso explorer.exe ya ejecutándose.
  2. Que en el registro de Windows que he puesto antes esté apuntando a si mismo.

Por ello lo que tendremos que hacer para mostrar el escritorio es cambiar la variable Shell del registro expuesto anteriomente a explorer.exe, ejecutar el fichero C:\Windows\explorer.exe y pasados unos segundos volver a modificar la variable Shell con el nombre de nuestro ejecutable para asegurarnos que en el siguiente arranque se vuelve a cargar nuestro programa.