Perché alt + F4 non chiude cmd?


25

In Windows, alt+ F4non chiude cmd (Come in: WindowsKey+ R, cmd, Enter)

Quanto è diversa la finestra di comando da una finestra normale?


Esistono alcuni programmi di gestione dei tasti di scelta rapida di terze parti. Alcuni dovrebbero essere in grado di intercettare Alt-F4 solo per le relative finestre del prompt dei comandi e utilizzare un arresto alternativo (ad esempio, digitare "esci" o fare clic sul pulsante di chiusura oppure utilizzare l'opzione "chiudi" del menu di sistema). Ovviamente, dovresti essere consapevole del possibile aspetto negativo (vedi la risposta di Jeff). Spiacenti, non posso formulare una raccomandazione.
Steve314,


puoi usare Alt+Space-> Cper chiuderlo.
Bor691,

Risposte:


19

La finestra di comando utilizza tali combinazioni di tasti per varie applicazioni all'interno della finestra di emulazione dos. Se Alt-F4 ha chiuso la finestra, potrebbe essere impossibile utilizzare determinate utility. Se vuoi solo una correzione della tastiera, basta digitare exitper uscire.


quali utilità certe? Alt-F4 chiude quasi tutte le finestre nei sistemi NT, quindi perché il prompt dei comandi è un'eccezione?
Peeyush,

1
Applicazioni precedenti a Windows NT in DOS. Ricordo un gioco in cui Alt + F4 ha richiamato il menu di salvataggio di un gioco (credo il comandante di ala Armada). Poiché questo è progettato per emulare (o visualizzare) DOS, deve accettare questa combinazione di tasti e non chiudersi, in modo che queste app possano ricevere il comando.
Jeff F.

oh .. Okay ... Quindi Microsoft deve ancora utilizzare quella combinazione per alcune funzionalità, altrimenti ormai deve aver fornito supporto.
Peeyush,

15

D'altra parte, se stai cercando di avere Alt+ F4chiudere la finestra della console, puoi usare il seguente script AutoHotkey :

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

#IfWinActive

6

Alt+ F4invia il programma focalizzando il WM_CLOSEmessaggio .

Quindi, il cmdprogramma è intenzionalmente configurato per ignorare i WM_CLOSEmessaggi o forse non elabora alcun messaggio.


Questo non si applica interamente alle finestre della console Win32: sono di proprietà di conhost(precedente csrss) e le applicazioni della console lo gestiscono in modo diverso.
gravità

@grawity, debitamente notato, grazie. Ma sembra che potrebbe essere l'inizio della vera risposta alla domanda.
DMA57361,

@grawity - Pensavo che all'interno di Windows esistesse ancora un messaggio WM_CLOSE gestito come parte del programma della console. Non che faccia molta differenza, però - questa è una risposta per i programmatori che lavorano alla fonte di cmd.exe, non per gli utenti curiosi della logica di progettazione.
Steve314,

1
Come puoi vedere con la risposta di iglvzx, le console si chiudono davvero in risposta a WM_CLOSE.
Synetech,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.