4

レジストリ キーを使用してデフォルトのシステム フォルダ アイコンを変更します

Reg := TRegistry.Create; 
try 
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons', True);
  Reg.WriteString('3', 'C:\MyIcon.icl,0');
finally
  RegFile.Free;
end;

レジストリ値を変更できますが、変更を有効にするには OS を再起動する必要があります。

それを修正するために、私は試しました:

SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);

と:

SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);

WinXP では動作しますが、Win7 では動作しません。

Win7でどうすれば修正できますか?

4

1 に答える 1

1

タスクマネージャーからプロセス「explorer.exe」を「終了」してみると、

もう一度起動して (実行 -> explorer.exe)、

このプロセスによって更新されたアイコンが表示される場合は、再起動を行う必要がないように、プログラムでこれを実行してみてください。

于 2013-09-18T14:19:18.363 に答える