レジストリ キーを使用してデフォルトのシステム フォルダ アイコンを変更します
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でどうすれば修正できますか?