我开发了一个桌面应用程序,它在用户处于 Metro 模式时显示 ToastNotifications。单击后,它将使用户回到显示标准桌面通知的桌面模式。
这一切都很好,除非 Windows 处于 QUNS_QUIET_TIME。桌面通知未按预期显示,但 ToastNotfications 仍会显示。我的客户希望在安静时间不显示 ToastNotifications。
代码调用 SHQueryUserNotificationState 返回一个QUERY_USER_NOTIFICATION_STATE 枚举。提供的链接说明如下:
请注意,在安静时间期间,如果用户处于其他阻塞模式之一(QUNS_NOT_PRESENT、QUNS_BUSY、QUNS_PRESENTATION_MODE 或 QUNS_RUNNING_D3D_FULL_SCREEN),则 SHQueryUserNotificationState 仅返回该值,并且不报告 QUNS_QUIET_TIME。
这就是我正在经历的。对 SHQueryUserNotificationState 的调用返回的是 QUNS_APP(Windows 应用商店应用程序正在运行。)而不是 QUNS_QUIET_TIME。
有谁知道确定 QUNS_QUIET_TIME 是否有效的另一种方法或一种强制敬酒尊重安静时间的方法?