2

16x16のアイコンが付いたDelphi6アプリケーションがありました。最近、64x64バージョンを作成し、アプリケーションを再コンパイルしました。

この高解像度のアイコンは、アプリケーションを実行すると、Windows7スーパーバーとタスクマネージャーに表示されます。.exeファイルのプロパティに表示されます。

しかし、デスクトップでショートカットを作成すると、引き伸ばされた低解像度のアイコン(16x16)が表示されます。このショートカットのプロパティに移動すると、64x64バージョンが表示されます。ショートカットに高解像度アイコンを表示するには、ショートカットアイコンのプロパティに移動し、使用可能な唯一の高解像度アイコンをクリックし、[OK]と[適用]をクリックして、このシーケンスを2回実行する必要があります。

ショートカットを削除して再度作成しようとすると、アイコンを2回割り当てるまで、16x16のアイコンが再度表示されます。

私は特別に.resファイルを調べました-アイコンは1つだけです。

アイコンのキャッシュをクリアし、ログアウトしてログインしました。それでも動作に変更はありません。このような動作は、Windows7を搭載した他のコンピューターでも再現できます。

何が起こっているのかわかりません。高解像度から低解像度バージョンを作成しているのですか、それとも以前のバージョンをどこかにキャッシュしているのですか?

4

1 に答える 1

2

コマンドプロンプトウィンドウを開き、次のように入力します。

taskkill /IM explorer.exe /F
DEL "%localappdata%\IconCache.db" /A
shutdown /r /f /t 00

これにより、アイコンキャッシュが再構築されます。これは、問題の原因である可能性が非常に高くなります。最後のコマンドはコンピュータをシャットダウンして再起動するため、コマンドを実行する前に必ずデータを保存してください。

于 2013-02-21T21:52:42.447 に答える