像许多应用程序一样,我的创建了多个窗口。我不知道,也无法跟踪已经创建了多少个窗口,所以我不知道什么时候没有。
我的问题是,当所有窗口都关闭时,除非我以某种方式调用PostQuitMessage
,否则应用程序将在没有窗口打开的情况下保持运行(显然)。我无法在消息处理程序中调用PostQuitMessage
来响应WM_DESTROY
消息,因为这将在第一个关闭时关闭所有窗口,即使还有二十个窗口仍在打开。
我的问题是我如何知道何时调用PostQuitMessage(0)
实际终止应用程序?
最佳答案
只需保留一个带有打开窗口数的静态变量即可。当 window 打开时,它会增加计数器。在WM_DESTROY处理程序中将其递减。当计数变为零时,调用PostQuitMessage。