Warum schließt Alt + F4 Cmd nicht?

25

In Windows schließt alt+ F4cmd nicht (wie in: WindowsKey+ R, cmd, Enter)

Wie unterschiedlich ist das Befehlsfenster von einem normalen Fenster?

balalakshmi
quelle
Es gibt einige Hotkey-Bearbeitungsprogramme von Drittanbietern. Einige sollten in der Lage sein, Alt-F4 nur für die entsprechenden Eingabeaufforderungsfenster abzufangen und ein alternatives Herunterfahren zu verwenden (z. B. "exit" eingeben oder auf die Schaltfläche "close" klicken oder die Option "close" im Systemmenü verwenden). Natürlich sollten Sie sich der möglichen Nachteile bewusst sein (siehe Jeffs Antwort). Entschuldigung, ich kann keine Empfehlung aussprechen.
Steve314
Sie können Alt+Space-> verwenden C, um es zu schließen.
Bor691

Antworten:

19

Das Befehlsfenster verwendet diese Tastenkombination für verschiedene Anwendungen innerhalb des Dosierungsemulationsfensters. Wenn Alt-F4 das Fenster schließt, können möglicherweise bestimmte Dienstprogramme nicht verwendet werden. Wenn Sie möchten, dass nur eine Tastatur repariert wird, geben Sie exitzum Beenden einfach Folgendes ein.

Jeff F.
quelle
Was für bestimmte Dienstprogramme? Alt-F4 schließt fast alle Fenster in NT-Systemen. Warum ist dann die Eingabeaufforderung eine Ausnahme?
Peeyush
1
Anwendungen vor Windows NT unter DOS. Ich erinnere mich an ein Spiel, in dem Alt + F4 das Speichermenü für ein Spiel aufgerufen hat (Wing Commander Armada, glaube ich). Da dies DOS emulieren (oder anzeigen) soll, muss diese Tastenkombination akzeptiert und nicht geschlossen werden, damit diese Apps den Befehl empfangen können.
Jeff F.
oh .. Okay ... Microsoft muss diese Kombination also weiterhin für einige Funktionen verwenden, andernfalls müssen sie inzwischen Unterstützung bereitgestellt haben.
Peeyush
15

Auf der anderen Seite, wenn Sie haben , suchen Alt+ F4schließen Sie das Konsolenfenster, können Sie den folgenden verwenden AutoHotkey Skript:

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

#IfWinActive
iglvzx
quelle
6

Alt+ F4sendet das Programm mit Fokus die WM_CLOSENachricht .

Daher ist das cmdProgramm entweder absichtlich so konfiguriert, dass WM_CLOSENachrichten ignoriert werden , oder es verarbeitet möglicherweise überhaupt keine Nachrichten.

DMA57361
quelle
Dies gilt nicht vollständig für Win32-Konsolenfenster - sie gehören conhost(früher csrss) und Konsolenanwendungen behandeln dies anders.
Grawity
@grawity, ordnungsgemäß zur Kenntnis genommen, danke. Aber es hört sich so an, als ob dies der Beginn der eigentlichen Antwort auf die Frage sein könnte.
DMA57361
@grawity - Ich dachte, dass in Windows immer noch eine WM_CLOSE-Nachricht als Teil des Konsolenprogramms behandelt wird. Nicht, dass es einen großen Unterschied macht - dies ist eine Antwort für Programmierer, die an der Quelle von cmd.exe arbeiten, und nicht für Benutzer, die sich für das Design interessieren.
Steve314
1
Wie Sie an der Antwort von iglvzx sehen können, schließen Konsolen tatsächlich als Reaktion auf WM_CLOSE.
Synetech 20.03.12