1

ユーザーがメトロ モードのときに ToastNotifications を表示するデスクトップ アプリケーションを開発しました。クリックすると、標準のデスクトップ通知が表示されるデスクトップ モードに戻ります。

Windows が QUNS_QUIET_TIME にある場合を除いて、これはすべて正常に機能します。デスクトップ通知は期待どおりに表示されませんが、ToastNotfications は引き続き表示されます。私のクライアントは、ToastNotifications がクワイエット タイム中に表示されないようにしたいと考えています。

このコードは、 QUERY_USER_NOTIFICATION_STATE 列挙を返す SHQueryUserNotificationState を呼び出します。提供されたリンクには次のように記載されています。

ユーザーが他のブロックされたモード (QUNS_NOT_PRESENT、QUNS_BUSY、QUNS_PRESENTATION_MODE、または QUNS_RUNNING_D3D_FULL_SCREEN) のいずれかである場合、待機時間中に SHQueryUserNotificationState はその値のみを返し、QUNS_QUIET_TIME を報告しないことに注意してください。

これが私が経験していることです。SHQueryUserNotificationState への呼び出しは、QUNS_QUIET_TIME ではなく、QUNS_APP (Windows ストア アプリが実行中) を返します。

QUNS_QUIET_TIME が有効かどうかを判断する別の方法、またはトーストに静かな時間を強制する方法を知っている人はいますか?

4

1 に答える 1

0

デスクトップ通知は、トースト通知とは異なる設定を使用します。トースト通知の設定はこちらで確認できます。ユーザーが Windows 8 の設定から通知を 1 時間に設定した場合 | 通知、アプリはトースト通知を設定できなくなります。こちらの「デスクトップからトースト通知を送信する」の例を試してください(C++ コードまたは C# コード)。

于 2013-02-22T04:47:03.970 に答える