¿Por qué alt + F4 no cierra cmd?


25

En Windows, alt+ F4no cierra cmd (como en: WindowsKey+ R, cmd, Enter)

¿Qué tan diferente es la ventana de comandos de una ventana normal?


Existen algunos programas de manejo de teclas de acceso directo de terceros. Algunos deberían poder interceptar Alt-F4 solo para las ventanas de símbolo del sistema relevantes y utilizar un apagado alternativo (por ejemplo, escribir "salir", o hacer clic en el botón de cerrar, o usar la opción "cerrar" del menú del sistema). Obviamente, debe ser consciente de la posible desventaja (vea la respuesta de Jeff). Lo siento, no puedo hacer una recomendación.
Steve314


puedes usar Alt+Space-> Cpara cerrarlo.
Bor691

Respuestas:


19

La ventana de comandos usa esas combinaciones de teclas para diversas aplicaciones dentro de la ventana de emulación de DOS. Si Alt-F4 cierra la ventana, puede ser imposible usar ciertas utilidades. Si desea un teclado solo arregle, simplemente escriba exitpara salir.


¿Qué ciertas utilidades? Alt-F4 cierra casi todas las ventanas en sistemas NT, entonces ¿por qué el símbolo del sistema es una excepción?
Peeyush

1
Aplicaciones antes de Windows NT en DOS. Recuerdo un juego en el que Alt + F4 sacó el menú para guardar un juego (Wing Commander Armada, creo). Como está diseñado para emular (o mostrar) DOS, debe aceptar esta combinación de teclas y no cerrar para que estas aplicaciones puedan recibir el comando.
Jeff F.

oh ... Está bien ... Entonces, Microsoft debe seguir usando esa combinación para algunas funciones, de lo contrario ya deben haber brindado soporte.
Peeyush

15

Por otro lado, si está buscando que Alt+ F4cierre la ventana de la consola, puede usar el siguiente script de AutoHotkey :

#IfWinActive, ahk_class ConsoleWindowClass
    !F4::WinClose, A

#IfWinActive

6

Alt+ F4envía el programa con foco al WM_CLOSEmensaje .

Entonces, el cmdprograma está configurado intencionalmente para ignorar los WM_CLOSEmensajes, o posiblemente no procesa ningún mensaje en absoluto.


Esto no se aplica por completo a las ventanas de la consola Win32: son propiedad de conhost(antes csrss) y las aplicaciones de la consola lo manejan de manera diferente.
Grawity

@grawity, debidamente anotado, gracias. Pero parece que ese podría ser el comienzo de la respuesta real a la pregunta.
DMA57361

@grawity: pensé que dentro de Windows, todavía había un mensaje WM_CLOSE manejado como parte del programa de consola. Sin embargo, no es que haga mucha diferencia: esta es una respuesta para los programadores que trabajan en la fuente de cmd.exe, no para los usuarios curiosos sobre la lógica del diseño.
Steve314

1
Como puede ver con la respuesta de iglvzx, las consolas se cierran en respuesta a WM_CLOSE.
Synetech
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.