文件 > 退出和 X 按钮有什么区别?

Pop*_*ops 5 windows

在 Windows 中有两种常见的退出程序的方法:

  1. 单击File菜单栏中的 并Exit从结果菜单中选择
  2. 点击右上角的X按钮

为了这个问题,假设您正在处理程序打开的最后一个窗口。还假设您没有处理一个程序,即使它没有活动窗口,它也会作为后台进程偷偷地保持打开状态。

这些方法是否彼此等效?如果不是,有什么区别?例如,一个是否比另一个更彻底地清理资源?

Ign*_*ams 7

一个将分配给菜单项的命令消息发送到窗口消息队列,另一个将WM_CLOSE消息发送到窗口消息队列。应用程序对每个消息的反应取决于窗口循环如何处理给定消息。


DMA*_*361 7

Ignacio 的回答很好,但我想添加一个技术含量较低的版本。


File->Exit由软件提供(有些软件甚至没有文件菜单或退出选项),​​软件会根据需要处理它。

X附连到由OS(其也可提供标准的窗口本身)的任何标准窗口。有效地单击它会向窗口发送一条外部消息,要求其关闭。由软件来检查此消息并正确响应。

您会期望大多数软件对这两种类型的请求使用相同的内部过程,但这并不能保证,如上所述,因为这完全取决于软件开发人员来配置它们。

此外,这两种方法都不能保证关闭程序 - 考虑在打开编辑过的文件的情况下在 Excel 中执行任一操作,它会询问您是否要保存,但也为您提供了完全取消请求的选项。