私のアプリケーションはシステムトレイに置かれ、Windows 7のネットワーク/ボリューム/電源/アクションセンターのトレイ項目(およびWindows Vistaの同等の項目)と同様に動作します。つまり、トレイアイコンをクリックすると表示され、フォーカスがなくなると非表示になります。トレイアイコンの場所を確認
アプリケーションはWPFで書かれていますが、現在トレイアイコンにはWinFormsのNotifyIconが使用されています。
私のアプリケーションのトレイアイコンの位置(つまり画面座標)をどのように決定するかについて、誰かが示唆していることを知りたいと思います。デフォルトのWindows Vista/7トレイアイテムには、ポップアウトウィンドウが関連するトレイアイコンの上に中央揃えで配置されているため、何らかの方法があります。
Vistaではこれはあまり問題ではありませんでした。アプリケーションを永久に右下に設定しましたが、これはうまくいきました(ただし、タスクバーが画面の下部)。しかし、Windows 7では、アプリケーションは音量コントロールなどのように上にホバーするのではなく、新しいシステムトレイのポップアウトボックスを覆い隠してしまいます。
私の検索で今までに見たベストソリューションは、NotifyIconでマウスアップイベントを処理し、マウス座標を使用してアイコンの位置を決定することです。誰かがより良いアイデアを持っていない限り、この方法を使用することになりますが、アイコン内でユーザーがクリックする位置によって位置が多少異なるため理想的ではありません。
はどうもありがとうございました:)私はそれを得ることができれば私が表示されますNotifyIconを使用してレポートを返します。 – Quppa
WinForms NotifyIconクラスで動作するShell_NotifyIconGetRect()関数があります。私はブログの記事をhttp://blog.quppa.net/?p=17 – Quppa