バックグラウンドで実行しているプログラムがあり、それがポップアップしたときに (ダイアログ ボックスのように) ユーザーに表示する必要がある場合、ユーザーがこれを表示できるように (Windows 8 で) メトロ モードを解除できますか?通知?
2 に答える
そのような機能は、本質的に乗っ取りを試み、ユーザーにとって非常に不快なアプリの束を生み出します. ただし、デスクトップ アプリは、実行するアクションがあることをユーザーに警告するトースト通知を生成できます。詳細については、この MSDN トピックを参照してください。
私も Jim に同意します。コンテキストをデスクトップから Metro (または彼らが今呼んでいるもの) に自動的に切り替えることは、視覚的に不快であり、ユーザーに敵対的です。スタート画面からデスクトップアプリを起動するときのように、OS自体がこれを行うことを認識しています. それでは良いデザインにはなりません。
その上、それが行われるとき、ユーザーは (おそらく) 新しく起動されたアプリケーションと対話したいと考えていました。通知を表示しているだけの場合は、必ずしもそうではありません。必要なアクションさえない場合もあります。
代わりに、この目的のために明示的に設計された通知フレームワークであるToastを使用することをお勧めします。ダウンロード可能なサンプル アプリケーションがあります: Sending toast notifications from desktop apps。
ただし、デスクトップ アプリケーションからトースト通知を機能させるには、デスクトップ アプリケーションへのショートカットをスタート画面にインストールする必要がありますSystem.AppUserModel.ID
。これは、インストーラーが処理する必要があります。詳細はこちら。
もちろん、ユーザーは通知をオフにするか、アプリのショートカットをスタート画面から削除することで、これを無効にすることができます。ユーザーがこれらのアクションのいずれかを実行した場合、アプリからの通知を受信する必要がなくなったと見なすことができます。