为什么Alt + F4不能关闭cmd?


25

在Windows中,alt+ F4不会关闭cmd(例如:WindowsKey+ R,cmd,Enter

命令窗口与普通窗口有何不同?


那里有一些第三方热键处理程序。有些应该只能够在相关的命令提示符窗口中拦截Alt-F4,并使用其他关机方法(例如,键入“ exit”,或单击关闭按钮,或使用系统菜单“ close”选项)。显然,您应该意识到可能的不利之处(请参阅Jeffs的答案)。抱歉,我无法推荐。
Steve314 2011年


您可以使用Alt+Space-> C将其关闭。
Bor691

Answers:


19

命令窗口将这些组合键用于dos仿真窗口中的各种应用程序。如果Alt-F4关闭了窗口,则可能无法使用某些实用程序。如果您只想解决键盘问题,只需键入exit退出即可。


有哪些实用程序?Alt-F4几乎关闭了NT系统中的所有窗口,那么为什么命令提示符是一个例外?
Peeyush 2012年

1
DOS中Windows NT之前的应用程序。我记得一个游戏,其中Alt + F4调出了游戏的保存菜单(我相信Wing Commander Armada)。由于这是设计用于模拟(或显示)DOS的,因此它必须接受此组合键并且不能关闭,以便这些应用程序可以接收命令。
杰夫·F。

哦,好吧...因此,Microsoft必须仍在使用该组合来实现某些功能,否则它们现在必须已经提供了支持。
Peeyush 2012年

15

另一方面,如果您希望Alt+ F4关闭控制台窗口,则可以使用以下AutoHotkey脚本:

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

#IfWinActive

6

Alt+ F4重点发送程序WM_CLOSE消息

因此,该cmd程序要么被故意配置为忽略WM_CLOSE消息,要么可能根本不处理任何消息。


这并不完全适用于Win32控制台窗口-它们由conhost(先前-由csrss)拥有,并且控制台应用程序以不同的方式处理它。
grawity 2011年

@grawity,适当指出,谢谢。但这听起来可能是问题真正答案的开始。
DMA57361 2011年

@grawity-我认为在Windows中,控制台程序仍会处理WM_CLOSE消息。但是,并不是说它有很大的不同-这是为使用cmd.exe的源代码的程序员提供的答案,而不是对设计基本原理感到好奇的用户的答案。
Steve314 2011年

1
正如您在iglvzx的答案中所看到的,控制台的确响应确实关闭了WM_CLOSE
Synetech 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.