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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *