技術ノート:タスクトレイアイコンに関する問題
タスクトレイにアイコンを入れて、右クリックすると メニューを表示するプログラムを勉強していて問題にぶつかった。

基本的な動きは完成したし、 ポップアップメニューの動きを正常にするための
●SetForegroundWindow(hwnd); ●SetFocus(hwnd);
●PostMessage(hwnd,WM_NULL,0,0);
の処理はすでに導入済み。
しかし、自分のプログラムのアイコンを右クリックすると なぜかタスクバーを右クリックしたときのメニューまで出てくる。

メニューが2重になってしまうのだ。 必ず起こるわけではないが、右クリックを連打すると 高い頻度でメニューが2重で出てくる。
どうやら、こちらのプログラムで受け取るべき 右クリックのアクションが、 タスクバーの方にも伝わってしまっている感じだ。
その割に、右クリックされた、という情報は こちらのプログラムにも来ている(だからメニューが出る)。
いろいろ検索したり、いろんな処理を加えてみたが どうにも解決しない。
他のソフトのタスクトレイアイコンでも 同じ症状になるものがあるが、ならないものもあるので 何か解決法があるように感じる。
心情的に、これが直らないなら タスクトレイアイコンの機能は公開したくない。
ということで、このあたりに詳しいプログラマの人、 情報があれば教えてください。
|