タスクトレイの問題

XP sp2なんだけども
起動時にタスクトレイ(タスクバーの右端の領域)に表示されるアイコンがまちまちなのです
昨日は表示されたのに今日は表示されないとか
まあ、タスクトレイに表示されるもので重要なものってそんなにないので
あまり気にしてなかったのだけど
ちょっと困ることがあったので調べてみました
そしたらこれが

「通知領域のアイコンが消えてしまうことがある」
http://support.microsoft.com/kb/835874/ja

どうやら通知領域ってのはタスクトレイの事っぽい
知らなかった
そして、通知領域のアイコンが表示されない場合の回避策

回避策
通知領域のアイコンが消えてしまった場合には、以下の方法があります。
" 該当のアプリケーションを再起動する
" 一旦ログオフして再度ログオンする
" システムを再起動する


これをアイコンが表示されるまで繰り返すのか・・・


大きな原因は
Shell_NotifyIcon 関数の仕様らしい
詳しくはこれ
「SDK32: 通知領域にアイコンが登録されないことがある」
http://support.microsoft.com/kb/418138/JA/

通知領域へのアイコン登録の関数のタイムアウト時間がなぜか4秒に設定してあって
タイムアウトした場合はプログラム内でリトライをしないといけないようです
なんで4秒なのかは謎