Показать сообщение отдельно
  #2  
Старый 19.10.2007, 18:05
JCDArtem JCDArtem вне форума
Прохожий
 
Регистрация: 18.10.2007
Сообщения: 17
Репутация: 10
По умолчанию

Менять фон так:
Код:
uses ...Registry; //подключаем модуль
...
procedure TForm1.Button1Click(Sender: TObject);
var
  Reg: TRegIniFile;
begin
  Reg := TRegIniFile.Create('Control Panel');
  Reg.WriteString('desktop', 'Wallpaper', 'c:\windows\Установка.bmp');
  Reg.WriteString('desktop', 'TileWallpaper', '0');
  Reg.Free;
  SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
end;
Манипуляция иконками:
1. Береш Хэндл стола:
Код:
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;
2. Работаеш с ним :
Упорядочить слева, например, :
Код:
SendMessage(GetDesktopListViewHandle, LVM_ALIGN, LVA_ALIGNLEFT, 0);
Остальные константы LVM_***** найдеш в модуле, де валяется SendMessage...
Ответить с цитированием