Home » Tipps & Tricks » System » Desktop und Taskleiste » Icons auf dem Desktop anordnen

Icons auf dem Desktop anordnen

Über dem Windows-Desktop liegt eine ListView-Komponente. Man benötigt also einfach ein Handle auf diese ListView. Beispiel:

function GetDesktopListViewHandle: THandle;
var S: String;
begin
  Result := FindWindow('ProgMan', nil);
  Result := GetWindow(Result, GW_CHILD);
  Result := GetWindow(Result, GW_CHILD);
  SetLength(S, 40);
  GetClassName(Result, PChar(S), 39);
  if PChar(S)'SysListView32' then Result := 0;
end;

Wenn man ein Handle hat, kann man die ListView-bezogenen API-Funktionen in der Unit CommCtrl verwenden, um den Desktop zu manipulieren. Siehe die LVM_xxxx-Botschaften in der Win32-Onlinehilfe.Folgender Code richtet beispielsweise die Desktop-Icons an der linken Seite des Windows-Desktops aus:

  SendMessage(GetDesktopListViewHandle, LVM_ARRANGE, LVA_ALIGNLEFT, 0);