有没有一个键盘快捷键来结束一个应用程序?(不仅仅是alt+f4)
我使用的是Spotify,这个应用程序和其他许多应用程序一样,当你关闭窗口时,它仍然在运行。也就是说,当我按alt+F4键时,它并没有达到预期的效果。它只是关闭了窗口。在启动栏底部的小图标仍然作为一个活动的应用程序高亮。你必须右击图标,选择 “退出 "才能真正关闭它。我不喜欢每次都这样做。
有没有相当于ctrl+alt+del结束任务的键盘快捷键?
我使用的是Spotify,这个应用程序和其他许多应用程序一样,当你关闭窗口时,它仍然在运行。也就是说,当我按alt+F4键时,它并没有达到预期的效果。它只是关闭了窗口。在启动栏底部的小图标仍然作为一个活动的应用程序高亮。你必须右击图标,选择 “退出 "才能真正关闭它。我不喜欢每次都这样做。
有没有相当于ctrl+alt+del结束任务的键盘快捷键?
是的,有。是Alt+F4。
这是【结束程序】(http://support.microsoft.com/kb/126449)的组合键。唯一的原因是它不像广告中说的那样工作,是无知的程序员拒绝遵循微软的设计准则。
这个问题在其他**热键上也会持续存在。你只可能用AutoHotKey(或类似工具)创建一个自定义的解决方案,杀死这个过程。但这很可能会让你损失很多工作。因为那是相当粗暴的方法来退出一个进程。
好的,据我了解,有几种方法可以终止一个Windows应用程序。
1.向主应用程序窗口发布一个 WM_CLOSE
窗口消息。
2. 销毁主应用程序窗口。
3.
3. 终止进程。
第一种方式是clean方式。你打算关闭一个应用程序的方式。这和Alt+F4的作用是一样的。按Alt+F4只会向应用程序窗口发送WM_CLOSE
信息。
现在,让我们以相反的顺序来看这3种方式。
在Windows中,一个应用程序生活在一个进程中。在这个进程中,应用程序可以创建一个窗口。窗口就是你在桌面上看到的东西,也是你要与之交互的东西。
所以,如果这个进程是一个应用程序的_根,如果你终止它,其他的一切也会消失。所以,这将是很好的**终结一个应用程序的方法。但是这将会突然地杀死这个应用程序,以至于它没有机会将任何关键数据保存到磁盘上。
所以不推荐这样做!
正如我们刚刚了解到的,主程序窗口只是进程的一部分。所以如果我们直接销毁这个窗口,我们还是会把这个进程搞得臭烘烘的 :(
而这将比应用程序更难摆脱。
这很可能是试图结束一个应用程序的最龌龊的方法。远远地躲开吧!
WM_CLOSE
消息Windows是一个基于消息的操作系统。意思是说,组件之间通过互相发送小消息来进行对话。
这些消息之一就是WM_CLOSE
消息。
如果一个应用程序收到这个消息,就会约定,这个应用程序应该抓住所有的行动,然后生命。
但是每个程序员都可以自己决定如何处理这个消息。
正如 文档 前面告诉我们的那样,默认的行为将是调用 DestroyWindow
,从而执行我们的应用程序退出方法#2。
有一点不同的是,这次 ,是故意的,程序完全有机会保存关键数据。
所以,正如你所看到的,我们在这里几乎是每一个程序员的摆布。或者我们要冒着丢失数据的风险(你可不想冒这个险!)。
如果你不能用Alt-F4关闭程序,除了杀死程序(我只在万不得已的情况下才会使用)之外,还有很多事情可以尝试。虽然这必须在每个程序的基础上进行,因为没有通用的解决方案。
一些例子。
刚开始使用宏,过一段时间你就会掌握它的窍门。AutoHotkey或AutoIt是解决这类问题的好脚本语言。
Gnome HIG使用Ctrl-Q关闭应用程序,Ctrl-W关闭标签。
Firefox、Eclipse等都支持这些。 http://developer.gnome.org/hig-book/3.2/hig-book.html#standard-shortcuts
上网搜索Spotify和Ctrl-Q确实可以发现。 http://www.dummies.com/how-to/content/how-to-use-spotify-keyboard-shortcuts.html
也有一些例外,比如在后台运行的程序,除了通知外,一般不显示窗口。对于这些程序,Alt+F4一般都会解除通知,通常还有其他方法使程序退出。
但答案是。没有 ,没有键盘快捷键可以强行终止一个进程。快捷方式是为了让频繁的操作变得更简单。强制终止应该是一个罕见的事件,因此不会得到一个快捷键。
在看不到任务管理器的情况下(像游戏这样的全屏应用程序发生故障),Alt F4也不起作用,如果你知道进程的名称,你可以使用taskkill.exe。
用Win R打开运行对话框,然后输入。
taskkill /IM NameOfTheProcess.exe /F
Taskkill doc …
CtrlPause,在我的戴尔上就是蓝色的Fn键和F12 / Pause。
于是,我按住蓝色功能键,按住Ctrl键,然后按F12。