Unser Mitglieg
_frank_ hat in
diesem Beitrag gezeigt, wie man einfach den Shell Icon Cache neu aufbauen kann (z.B. nach dem Registrieren eines Dateityps inklusive Icon):
Delphi-Quellcode:
function RefreshScreenIcons: Boolean;
var
Reg: TRegistry;
CIS: string;
begin
Result := false;
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('Control Panel\Desktop\WindowMetrics', true) then
begin
CIS := Reg.ReadString('Shell Icon Size');
Reg.WriteString('Shell Icon Size', IntToStr(StrToInt(CIS) -2));
PostMessage(HWND_BROADCAST, WM_DISPLAYCHANGE, 0, 0);
Sleep(20);
Reg.WriteString('Shell Icon Size', CIS);
PostMessage(HWND_BROADCAST, WM_DISPLAYCHANGE, 0, 0);
end;
Reg.CloseKey;
Result := true;
finally
Reg.Free;
end;
end;
[edit=Chakotay1308]Code-Style! Mfg, Chakotay1308[/edit]
[edit=Matze]Überarbeitete Version eingefügt. Mfg, Matze[/edit]