トップ回答者
バルーンを消す方法

質問
回答
-
atu さんからの引用 一時的に
notifyIcon1.Visible = false;
notifyIcon1.Visible = true;としましたが消えませんでした。
バルーンだけ残った状態になりました。
私も試してみましたが細かい環境によって動作が異なる様ですね。
atu さんからの引用
Balloonのウィンドウハンドルを取得する方法が分かりませんでした。どのようにすればBalloonのウィンドウハンドルを取得できるでしょうか?
EnumWindows等でウィンドウを列挙して
そのウィンドウにSendMessageでWM_GETTEXTを送って取得したウィンドウタイトルと目的のBalloonTipのタイトルとを比較して、目的のウィンドウハンドルを取得
という様な感じでしょうか。
アンマネージ WIN32 APIのマネージコードからの呼び出し方は
下記を参考にしてください。
# 個人的にはそこまでして実装する様な事かなという気もしますが
すべての返信
-
回答ありがとうございます。
> NotifyIconのVisibleを一時的に切り替えるとか。
一時的に
notifyIcon1.Visible = false;
notifyIcon1.Visible = true;としましたが消えませんでした。
バルーンだけ残った状態になりました。
> Balloonのウィンドウに
> WM_LBUTTONDOWN等のメッセージを送れば
> 可能だと思います。
試そうとしましたが
Balloonのウィンドウハンドルを取得する方法が分かりませんでした。
どのようにすればBalloonのウィンドウハンドルを取得できるでしょうか?
申し訳ありませんが、よろしくお願いします。 -
atu さんからの引用 一時的に
notifyIcon1.Visible = false;
notifyIcon1.Visible = true;としましたが消えませんでした。
バルーンだけ残った状態になりました。
私も試してみましたが細かい環境によって動作が異なる様ですね。
atu さんからの引用
Balloonのウィンドウハンドルを取得する方法が分かりませんでした。どのようにすればBalloonのウィンドウハンドルを取得できるでしょうか?
EnumWindows等でウィンドウを列挙して
そのウィンドウにSendMessageでWM_GETTEXTを送って取得したウィンドウタイトルと目的のBalloonTipのタイトルとを比較して、目的のウィンドウハンドルを取得
という様な感じでしょうか。
アンマネージ WIN32 APIのマネージコードからの呼び出し方は
下記を参考にしてください。
# 個人的にはそこまでして実装する様な事かなという気もしますが
-
-
atu さんからの引用 バルーンのタイトルは、"通知領域"になっているみたいですね。
違いますよ。
アイコンが表示されているのが、通知領域です。
多分、BalloonのタイトルはShowBalloonTipの第2パラメータかBalloonTipTitleプロパティの値だと思います。
atu さんからの引用 "通知領域"のウィンドウにWM_LBUTTONDOWNを送ると消すことができました。
# それで可能だと思うのであれば、
# 「FindWindow等を使用して」と書いたと思います。
アイコンが通知領域の一番左に表示されているから
たまたま期待通りに動作しているという事はありませんか?