タスクバーのアイコンを直すには?


nish  2011-11-30 15:09:56  No: 41283  IP: 192.*.*.*

タスクバーのアイコンがブルーモニタのアイコンになってしまいました。

別プロジェクトのフォームをごそっと流用したのですが
気づいた時には、タスクバーのアイコンがブルーモニタのアイコンに。
exe、フォーム左上のアイコンは設定したアイコンが表示されています。

別のアイコンを設定しても
タスクバーのアイコンのみ変わらずそのままです。

試しに
新規作成して、流用元のフォームをもってきましたが
タスクバーのアイコンは設定したアイコンが表示されます。

同じく新規作成して、今のフォームをもってきたら
タスクバーのアイコンがブルーモニタのアイコンに。。。

フォームが悪い???
フォームにアイコンの設定なんてありませんよね?

タスクバーのアイコンの設定が
プロジェクトの他にあったりするのでしょうか?

怪しい箇所でもわかる方いましたらお願いします。

Delphi6 Pro

編集 削除
deldel  2011-12-01 10:06:28  No: 41284  IP: 192.*.*.*

ちなみに、
Application.Icon.LoadFromFile('aaa.ico');
などとやると、タスクバーのアイコンが変化しますが、
フォームのアイコンも同じものに変化しますねぇ・・・
んで、その後、
Form1.Icon.LoadFromFile('bbb.ico');
とすると、フォームのアイコンだけが変化します。

この辺りがヒントになればいいんですが(^^;

編集 削除
nish  2011-12-01 10:52:55  No: 41285  IP: 192.*.*.*

deldelさんありがとうございます。

>Application.Icon.LoadFromFile('aaa.ico');
これをすれば問題ないです。

プロジェクト→オプション→アプリケーション
でアイコンを設定して
SaveToFileをしたら、やはりブルーモニタのアイコンでした。
なぜ???

フォームを乗せ変えたのが悪い?と書きましたが
アプリケーションのアイコンは、プロジェクトに設定しているので
やはりフォーム云々は関係ないような気がするのですが・・・
乗せ換えた時に内部で何か壊れてしまった。とかでしょうかね???

編集 削除
deldel  2011-12-01 11:02:30  No: 41286  IP: 192.*.*.*

なんか、謎ですね(^^;
.resファイルを削除してからプロジェクトをロードすると
アイコン情報が消えますので、もしかしたらうまくいくかも?

編集 削除
nish  2011-12-01 14:17:28  No: 41287  IP: 192.*.*.*

それも試しましたが、結果変わらずでした。
やっぱり謎ですよね...

編集 削除
ぽむぽむ  2011-12-01 16:00:10  No: 41288  IP: 192.*.*.*

アイコンキャッシュが壊れておかしくなったとか・・・?
以下のファイルを削除して、ログオフか再起動したら直る・・・かもしれない。

Windows Vista & 7
C:\Users\(ユーザー名)\AppData\Local\IconCache.db
Windows XP
C:\Documents and Settings\(ユーザー名)\Local Settings\Application Data\IconCache.db

編集 削除
nish  2011-12-01 20:49:23  No: 41289  IP: 192.*.*.*

ぽむぽむさんありがとうございます。

試してみましたが、変わらずでした。

編集 削除
YachtSun  2022-08-05 08:55:37  No: 150339  IP: 192.*.*.*

10年以上前のお話ですが私も2022年に同じ経験をしました。2022年8月5日に解決しましたので無駄かもしれませんが投稿いたします。

タスクバーのアイコンはウィンドウズバーのアイコン(Delphi → Project → オプション → アプリケーション → アイコンの読み込み)と同じものが表示されます。

しかし次のケースではタスクバーに意図しないアイコンが表示されます。

デスクトップ上に目的のファイル(.exe)を参照するショートカットアイコンが存在するとタスクバーにはそのアイコンが優先して表示されます。

そのアイコンが新しく設定したアイコンと異なる時、意図しない結果となります。

 これは[Delphi]の問題ではなく[Windows]の問題です。

編集 削除