在Windows中检测全屏应用程序退出

Windows是否提供某种机制来检测以全屏模式运行的应用程序(例如游戏,媒体播放器等)是否退出全屏模式,或者返回窗口模式或退出其过程?

就操作系统而言,没有“全屏模式”或“窗口模式”这样的东西。 一个窗口只是有尺寸, 可能与屏幕尺寸相同。 拥有该窗口的应用程序控制该行为,而不是操作系统,因此只有应用程序知道何时以“全屏”或“窗口”模式显示窗口。

也就是说,在改变模式时,应用程序可以选择使用CDS_FULLSCREENCDS_RESET标志调用ChangeDisplaySettings/Ex() 。 这会将WM_DISPLAYCHANGE通知发送到所有顶层窗口,但不会告诉他们全屏窗口正在显示或不显示。

至于检测进程终止,WMI有一个事件。 请参阅通过WMI接收事件通知 。