Dlaczego alt + F4 nie zamyka cmd?


25

W systemie Windows alt+ F4nie zamyka cmd (jak w: WindowsKey+ R, cmd, Enter)

Czym różni się okno poleceń od zwykłego okna?


Istnieje kilka zewnętrznych programów do obsługi skrótów klawiszowych. Niektórzy powinni być w stanie przechwycić Alt-F4 tylko dla odpowiednich okien wiersza polecenia i użyć alternatywnego zamknięcia (np. Wpisz „exit” lub kliknij przycisk zamykania lub skorzystaj z opcji „zamknij” w menu systemowym). Oczywiście powinieneś zdawać sobie sprawę z możliwych wad (patrz odpowiedź Jeffa). Przepraszam, nie mogę zalecić.
Steve314,


możesz użyć Alt+Space->, Caby go zamknąć.
Bor691,

Odpowiedzi:


19

Okno poleceń używa tych kombinacji klawiszy dla różnych aplikacji w oknie emulacji dos. Jeśli Alt-F4 zamknie okno, korzystanie z niektórych narzędzi może być niemożliwe. Jeśli chcesz tylko naprawić klawiaturę, po prostu wpisz, exitaby wyjść.


jakie niektóre narzędzia? Alt-F4 zamyka prawie wszystkie okna w systemach NT, dlaczego więc wiersz poleceń jest wyjątkiem?
Peeyush,

1
Aplikacje przed Windows NT w DOS. Pamiętam jedną grę, w której Alt + F4 wywołał menu zapisu gry (wierzę, że Wing Commander Armada). Ponieważ jest to przeznaczone do emulacji (lub wyświetlania) DOS, musi zaakceptować tę kombinację klawiszy, a nie zamykać, aby aplikacje mogły otrzymać polecenie.
Jeff F.

och ... Okej ... Więc Microsoft musi nadal używać tej kombinacji do niektórych funkcji, w przeciwnym razie do tej pory musieli zapewnić wsparcie.
Peeyush,

15

Z drugiej strony, jeśli chcesz Alt+ F4zamknąć okno konsoli, możesz użyć następującego skryptu AutoHotkey :

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

#IfWinActive

6

Alt+ F4wysyła program z fokusem WM_CLOSEwiadomość .

Tak więc cmdprogram jest celowo skonfigurowany do ignorowania WM_CLOSEwiadomości lub ewentualnie nie przetwarza żadnych wiadomości.


Nie dotyczy to w pełni okien konsoli Win32 - są one własnością conhost(wcześniej - przez csrss), a aplikacje konsolowe obsługują to inaczej.
grawity

@grawity, należycie odnotowane, dzięki. Ale wygląda na to, że może to być początek prawdziwej odpowiedzi na pytanie.
DMA57361,

@grawity - Myślałem, że w systemie Windows nadal jest obsługiwany komunikat WM_CLOSE jako część programu konsoli. Nie znaczy to, że robi to dużą różnicę - jest to odpowiedź dla programistów pracujących na źródle cmd.exe, a nie dla użytkowników ciekawi uzasadnienia projektu.
Steve314,

1
Jak widać z odpowiedzi iglvzx, konsole rzeczywiście zamykają się w odpowiedzi WM_CLOSE.
Synetech
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.