2008-03-17

バッテリーアイコンの件

先日のKillBatteryIconですが、バッテリアイコンを消した後に充電するとアイコンが復活してしまいます。
その上、復活したアイコンはKillBatteryIconを再実行しても消せませんでした。
 
どうも充電する事によってNotificationが復活しているようですね。
それならばSHNotificationRemove()で元から断とうと思って色々と調べていました。
 
最初 肝心のクラスIDと識別IDがわからずに手間取っていたのですが、レジストリを眺めていると HKLM\System\State\Shell\Notifications以下にクラスIDと識別IDが記録されているのを見つけました。(知ってる人には「何を今さら」でしょうけど...)
 
[HKEY_LOCAL_MACHINE\System\State\Shell\Notifications\{40299E05-135B-44D8-8F1D-783C06E93C26}]
[HKEY_LOCAL_MACHINE\System\State\Shell\Notifications\{40299E05-135B-44D8-8F1D-783C06E93C26}\4711]

[HKEY_LOCAL_MACHINE\System\State\Shell\Notifications\{99DE7411-772F-43D0-81F0-668336CA651B}]
[HKEY_LOCAL_MACHINE\System\State\Shell\Notifications\{99DE7411-772F-43D0-81F0-668336CA651B}\4710]

[HKEY_LOCAL_MACHINE\System\State\Shell\Notifications\{B3A81802-9095-4B4B-8713-7D65B6FB8BBC}]
[HKEY_LOCAL_MACHINE\System\State\Shell\Notifications\{B3A81802-9095-4B4B-8713-7D65B6FB8BBC}\37190]
 
試してみたところ 1つ目がバッテリアイコン、2つ目が電界強度表示アイコンでした。
それなら 3つ目は接続状態のアイコンかと期待したのですが、残念ながら日本語入力(ATOK?)のアイコンでした。(しかも消してもスピーカーアイコンが出てきます)
とりあえずバッテリと電界強度表示の削除方法を変更した版をアップしておきます。
 
ちなみにこの方法でバッテリアイコンを消しても、やはり充電するとアイコンが復活します。 その場合は{00000000-0000-...}のクラス指定なしNotificationが作られていたのでKillBatteryIconを再実行することで そちらを削除するようにしました。
本当に他のクラス指定なしのNotificationがあった場合は運が悪かったという事で(笑
 

0 件のコメント: