XP の通知領域がおかしい
最近、Windows XP の通知領域表示がおかしい。
クリックしても反応しなかったり、存在するはずのアイコンが表示されなかったりする。
マイクロソフトのサポート情報:通知領域のアイコンが消えてしまうことがある と SDK: 通知領域にアイコンが登録されないことがある によると、そういう仕様ということらしい。
いや、それでは困るのでもう少し調べてみると、スタートアップに入っているソフトウェアに問題があるかもしれないとの情報に行き着いたので、1つずつ外して再現を確認。
結果、MySQL の管理ツールである winmysqladmin.exe が悪さをしていました。
これは MySQL サービスが起動していないと、自動的に起動してくれるのですが、当然サービス起動処理は重いわけで…。 サービス起動中に Shell_NotifyIcon() のタイムアウトが発生して、通知領域がおかしくなってしまわれるようです。
この現象の対策方法としては…
1. winmysqladmin.exe をスタートアップから外す
必要なときだけ、自分で起動すれば OK
2. MySQL サービスを自動起動にしておく
スタートアップ(デスクトップシェルが起動してからのサービス起動)が悪いのだから、サービスは先に起動しておく案。
私は常に MySQL を必要とするわけではないので、1 の案を採用。
追記:サービスを自動起動にしていても、現象は変わりませんでした。 問題が発生する環境では、winmysqladmin.exe を外し、別の方法で起動するしかなさそうです。