2013-02-15 22 views
1

我开发了一个桌面应用程序,在用户处于Metro模式时显示ToastNotifications。点击后,用户将返回桌面模式,在该模式下显示标准桌面通知。安静期间的ToastNotification

除Windows在QUNS_QUIET_TIME时外,这一切都可以正常工作。桌面通知未按预期显示,但ToastNotfications仍显示。我的客户希望ToastNotifications在安静时间不显示。

该代码调用SHQueryUserNotificationState,返回QUERY_USER_NOTIFICATION_STATE enumeration。所提供的链接说以下内容:

需要注意的是在安静的时候,如果用户在其他阻塞模式(QUNS_NOT_PRESENT,QUNS_BUSY,QUNS_PRESENTATION_MODE,或QUNS_RUNNING_D3D_FULL_SCREEN)SHQueryUserNotificationState仅返回值,并且不会报告之一QUNS_QUIET_TIME。

这就是我所经历的。对SHQueryUserNotificationState的调用返回QUNS_APP(Windows Store应用程序正在运行),而不是QUNS_QUIET_TIME。

有谁知道另一种方式来确定是否有效QUNS_QUIET_TIME或强制敬酒尊重安静的时间吗?

回答

0

桌面通知使用与烤面包通知不同的settings。你可以找到烤面包通知设置here。当用户将通知设置为Windows 8 Settings |的一个小时时通知,应用程序将无法设置吐司通知。尝试示例“sending toast notifications from a desktop”(C++代码或C#代码)。