3つの状態すべてを処理できるようにしたいプログラムがあります。
- タスクバーに表示されず、Windows サウンド、ネットワーク プログラムなどのウィジェットとして機能します。
- タスクバーに表示されますが、最上位には表示されません。ウィンドウには引き続き通知領域のアイコンが表示され、#1 と同じように動作するはずですが、タスクバーにもウィンドウが表示されます。
- タスクバーに最上位で表示。ウィンドウは #2 と同じように動作するはずですが、ウィンドウが一番上に表示されます。注: タスクバー アイコンをクリックしてプログラムを最小化するのと同じように、最小化できるはずです。
これらは私の基準であり、すべてがうまく機能するように取り組んできましたが、最後のいくつかの微調整を解決できないようです. #1は問題ありません-私はそれを十分に簡単に整理しました。#2 と #3 は、より多くの問題を引き起こします。
私の最初の質問は、ユーザーがタスクバー アイコンをクリックしてアイコンを最小化/通常に戻す操作を Windows がどのように処理するかということです。#2と#3でそれをエミュレートしたいので。
#1については、現在、に設定Window.Visibility
するだけでウィンドウを非表示にしていますVisibility.Hidden
。Show()
ウィンドウを表示するには、 とを呼び出しますActivate()
。
私が言ったように、#2 と #3 については、ユーザーがタスクバー アイコンをクリックしたときに Windows が行うことをコピーしたいと思います。それをしてもいいですか?または、これを行う別の方法を見つける必要がありますか?