Sources
Delphi Russian Knowledge Base
DRKB - база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как выровнять иконки на рабочем столе к левому краю?

01.01.2007

Для начала необходимо получить дескриптор рабочего стола, который представляет из себя обычный ListView.

Пример:

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;

Как только дескриптор рабочего стола получен, можно с ним работать при помощи обычных API функций (через юнит CommCtrl). См. сообщения LVM_xxxx в хелпе по Win32.

Следующая строчка кода выравнивает иконки на рабочем столе к левому краю:

SendMessage(GetDesktopListViewHandle,LVM_ALIGN,LVA_ALIGNLEFT,0);
Previous page:
Как установить цвет фона иконок на рабочем столе, либо сделать у них прозрачный фон?
Top:
DRKB
Next page:
Как обновить рабочий стол?