PowerToysのTweak-UIを使うと、アイコンの再設定ができます。
ぐぐって最初に出てきたページhttp://mroom.cool.ne.jp/windows/fix/fix.html 参照。
これを、プログラムで実現できないかと考えています。
Tweak-UIのように、すべてのアイコンをリフレッシュしなくても、特定のアイコンだけでもリフレッシュしたいのです。
できれば、OSに依存しない方法があれば望ましいのですが、最低限NT系。
最悪でも2000 or XP で動作させたい状況です。
というのも、アプリのアイコンを変えたとき、デスクトップにつくったアイコンが、新しいアイコンに変更されない・・・ことがあるのです。
ひどいときは、再起動しても同じででした。
なお、別のアイコンに切り換え、再起動、その後新しいアイコンに設定するという方法で、新しくすることはできました。
これは、自分のPCだからいいのですが、他人のPCで同じような状況になると、ちょっとおもしろくありません。
そのため、アイコンのキャッシュから削除して、新しいアイコンイメージを取得させるAPIでもないものかと、質問してみました。
単純にアイコンキャッシュを削除するだけで、再起動すると直るかもしれませんが、再起動させたくないPCでは、放置プレイになってしまいます。
普通に「アイコンキャッシュ」と検索しても、Tweak-UIのようなツールばかりひっかかって、プログラムに結びつけられそうな情報はみつかりませんでした。
(他にキーワードが思いつかないし)
アイコンの大きさを変更すればできたと思います。
以下を参照してください。
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=018203
deldel さんありがとうございます。
ですが、自己解決できました。
deldelさんの紹介してくれたリンクと同じで、SystemParametersInfoを使いました。
それにしても、『アイコンの大きさ変更』とは、盲点・・・。
ツイート | ![]() |