2

私が作成したアプリケーションはNotifyIcon.ShowBalloonTip()、特定のイベントが発生したときに (を使用して) バルーン ヒントを表示します。これは、システムがロックされているときにも発生する可能性があります。

この場合、バルーン ヒントは、ロックを解除した直後に表示されないか、まったく表示されません。どちらの場合も問題なく、意味があります。ただし、しばらくすると表示されます。場合によっては 30 分以上かかることもあります。

この動作は非常に煩わしく、バルーンチップを表示する前に画面がロックされているかどうかを確認する以外に、防止する方法があるかどうかを知りたい.

4

1 に答える 1

1

タスクバー通知(これは公式用語です) には、複雑なロジックが関連付けられています。

  1. 通知は、すぐに表示されるか、PC がロックされている (またはフルスクリーン ゲームをプレイしている) 場合など、特定の状態から再開した後に表示されます。

    http://blogs.msdn.com/b/oldnewthing/archive/2005/01/10/349894.aspx

  2. Vista 以降では、通知は9 秒間しか表示されず、これは調整できません。

    http://blogs.msdn.com/b/oldnewthing/archive/2011/05/18/10165605.aspx

  3. ユーザーが初めてログオンした最初の 1 時間は、通知バルーンがまったく表示されません

    http://msdn.microsoft.com/en-us/library/windows/desktop/ee330740(v=vs.85).aspx

最も重要なことは、Windows はユーザーがそれらを見ることを保証しないということです。Windows UX ガイドラインでは、次のように述べています。

ユーザーがあなたの通知を見るとは思わないでください。次の場合、ユーザーには表示されません。

  • 彼らは仕事に没頭しています。
  • 彼らは注意を払っていません。
  • 彼らはコンピューターから離れています。
  • 彼らは全画面アプリケーションを実行しています。
  • 管理者は、コンピューターのすべての通知をオフにしました。

また、メッセージが時間内に表示されない可能性があるとも述べています。その場合、関連性がなくなったときにメッセージをアンキューする必要があります。これを行うには、 を呼び出しShowBalloonTip(0, String.Empty, String.Empty, ToolTipIcon.None)ます。これを行うことが、無関係なバルーンが表示されないようにするための最善の策だと思います。

于 2011-12-27T21:13:38.067 に答える