Sí, lo hay. Es Alt+F4.
Esta es la combinación de teclas para terminar un programa . La única razón por la que no funciona como se anuncia son los programadores ignorantes que se niegan a seguir las directrices de diseño de Microsoft.
Este problema persistiría también con cualquier otra tecla de acceso directo. Sólo se podría crear una solución personalizada con AutoHotKey (o herramientas similares) que matara el proceso. Pero esto probablemente le haría perder mucho trabajo. Ya que es un método de fuerza bruta para salir de un proceso.
¡Quiero saber más!
OK, a mi entender, hay varias formas de terminar una aplicación de Windows.
- Publicando un
WM_CLOSE
mensaje de ventana en la ventana principal de la aplicación.
- 2. Destrucción de la ventana principal de la aplicación.
- Terminar el proceso.
La primera forma es la forma limpia. La forma en que se pretende cerrar una aplicación. Esto es lo mismo que funciona Alt+F4. Presionando Alt+F4 sólo se enviará el mensaje WM_CLOSE
a la ventana de la aplicación.
Ahora, veamos las 3 formas en orden inverso.
Terminar un proceso
En Windows, una aplicación vive en un proceso . Dentro de ese proceso, la aplicación puede crear una ventana . La ventana es lo que verá en su escritorio y con lo que interactuará.
Así que, si el proceso es la raíz de una aplicación, si lo terminas, todo lo demás se irá también. Así que esto sería genial para terminar completamente una aplicación. Pero esto matará la aplicación tan abruptamente, que no tendrá oportunidad de guardar ningún dato crítico en el disco.
¡Así que esto no es recomendable!
Destruir la ventana principal de la aplicación
Como acabamos de aprender, la ventana principal de la aplicación es sólo parte del proceso. Así que si sólo destruimos esa ventana, todavía tendremos el proceso apestando el lugar :(
Y eso sería aún más difícil de eliminar que la aplicación.
Este es probablemente el enfoque más desagradable para tratar de terminar una aplicación. ¡Manténgase alejado!
Publicar un mensaje WM_CLOSE
Windows es un sistema operativo basado en mensajes. Esto significa que los componentes se comunican entre sí enviándose pequeños mensajes.
Uno de estos mensajes es el mensaje WM_CLOSE
.
Si una aplicación recibe este mensaje, se acuerda, que esta aplicación debe tomar toda la acción y luego la vida.
Pero cada programador puede decidir por sí mismo cómo manejar el mensaje.
Como la documentación nos dijo antes, el comportamiento por defecto sería llamar a DestroyWindow
y, así realizar nuestra salida de la aplicación enfoque #2.
Con la pequeña diferencia de que, esta vez , es intencional y el programa tiene todas las posibilidades de guardar los datos críticos.
Conclusión
Así que, como puedes ver, aquí estamos más o menos a merced de cada programador. O corremos el riesgo de perder datos (¡no querrás correr ese riesgo!).