[ttssh2-dev 437] Re: タスクバーアイコンが 16px になることがある

Back to archive index
matsuo zmats****@gmail*****
2022年 6月 6日 (月) 23:36:51 JST


松尾です。

[ttssh2-dev 255]
On 2022/02/18 21:39, NAGATA Shinya wrote:
 > タスクバーのアイコンが 16px になるのは 11 でしか起きないんですが、
 > SETICON したアイコンもキャッシュされているのでしょうかね?

手もとのWindows10で動作を見た感じ
キャッシュされているようです。

アイコンのキャッシュの動作は、以前にMSのwebだったか…で
解説を読んだ気がするのですが、
結構探したのですが、たどり着けませんでした。

こんな感じだったと記憶しています。
- exeのアイコンはキャッシュされる
   - タスクバーかエクスプローラーのアイコンか両方かはよく覚えていない
- 先頭の ? byteが同一だったらキャッシュが有効
   - ファイル全体を読んだり、アイコンを再度抽出すると
     パフォーマンスに影響が出るから?

手もとで、キャッシュされてアイコンが変化しなくなる状態を観察できました。

準備
- 普通にビルドした ttermpro.exe (1) を準備する
- teraterm/common/teraterm.ico を削除
   teraterm_3d.ico をteraterm.icoにコピーする
- これで ttermpro.exe (2) を作る
   → ファイルサイズが同じでアイコンだけが異なるexeを作る

exploror でアイコン見る
- (1) と (2) の exe を ttermpro.exe へリネームすると
   最初に表示されたアイコンのままとなる

タスクバー
- (1) と (2) の exe を ttermpro.exe へリネームして実行すると
   最初に実行したほうのアイコンのままとなる

復旧方法
サインアウト、再起動など

キャッシュ条件の先頭の?byteが同一、
に当てはまればアイコンが変わらなくなる、
ということだったら
非圧縮icoファイルを入れ替えたりしていると発生しやすそうです。

同一exeでアイコンが変化するのは説明つかないですね・・。



ttssh2-dev メーリングリストの案内
Back to archive index