首页 > 解决方案 > 如何从任务栏堆栈中禁用/删除“关闭所有 Windows”选项?

问题描述

我有一个具有多个顶级窗口的应用程序。当用户尝试关闭窗口时,系统会提示他们退出。如果他们选择继续,则所有窗口都会关闭。

当启用组合任务栏按钮时,我们的应用程序窗口最终会出现在任务栏上的堆栈中。如果您右键单击任务栏上的堆栈,则有一个选项“关闭所有窗口”。如果单击此选项,每个窗口都会获得一个WM_CLOSE,这会导致每个窗口都获得退出提示。

有没有办法禁用“关闭所有窗口”选项?似乎没有这样的窗口属性,例如System.AppUserModel.PreventPinning.

或者,有没有办法为我正在运行的应用程序拦截这个命令?

当然还有其他选项——我们的应用程序知道是否显示任何退出提示,所以它不能显示多个;或者我们可以对 WM_CLOSE 消息进行去抖动以产生单个事件。

标签: windowswinapitaskbar

解决方案


推荐阅读