システム トレイ アイコンに定期的に通知バルーンを作成する非 MFC、非 ATL C++ アプリがあります。Vista より前のボックスで、ユーザーが画面をロックすると、これらの新しく作成された「バルーンがキューに入れられ」、ユーザーが最終的に再ログインしたときに混乱が生じます。数十または数百のバルーンが待機している可能性があります。各バルーンに設定されたタイムアウトは、ユーザーが再度ログインするまで適用されません!!
したがって、これを解決するには、次のいずれかを知る必要があります。
- 新しいバルーンが到着したときに、作成した未処理のバルーンをキャンセルする方法はありますか?
- 代わりに「セッション ロック」/「スクリーン ロック」を確認し、ユーザーが不在の場合はバルーンの作成を停止する必要がありますか?
オプション #2 に関して、アカウント ロック/セッション ロックを取得するために Windows ループでリッスンするメッセージは何ですか? イベント WM_ENDSESSION を試しましたが、アプリはそれを認識していないように動作しました。それは正しいイベントですか?登録する必要がありますか?
もちろん、これを解決する簡単な方法があれば、知りたいです。確かに、Vista 以降では、NIF_REALTIME uFlagsオプションが問題を手軽に解決します。
ps 説明付きの Windows メッセージのリストがオンラインで見つからないことに愕然としています。私が見つけたのは説明のないリストだけで、Microsoft によってホストされていません!!!