Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  1 474

•  TDictionary Custom Sort  4 162

•  Fast Watermark Sources  3 848

•  3D Designer  5 932

•  Sik Screen Capture  4 109

•  Patch Maker  4 656

•  Айболит (remote control)  4 563

•  ListBox Drag & Drop  3 728

•  Доска для игры Реверси  89 307

•  Графические эффекты  4 897

•  Рисование по маске  3 919

•  Перетаскивание изображений  3 301

•  Canvas Drawing  3 598

•  Рисование Луны  3 396

•  Поворот изображения  2 895

•  Рисование стержней  2 568

•  Paint on Shape  1 973

•  Генератор кроссвордов  2 738

•  Головоломка Paletto  2 160

•  Теорема Монжа об окружностях  2 841

•  Пазл Numbrix  1 945

•  Заборы и коммивояжеры  2 515

•  Игра HIP  1 557

•  Игра Go (Го)  1 493

•  Симулятор лифта  1 766

•  Программа укладки плитки  1 513

•  Генератор лабиринта  1 878

•  Проверка числового ввода  1 629

•  HEX View  1 810

•  Физический маятник  1 649

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Как взять Handle рабочего стола для манипуляций с иконками рабочего стола



Девушка приходит к психологу.
- На что жалуетесь?
- Да вот доктор, депрессия, все надоело, мужики козлы, подруги стервы.
- Я думаю, вам нужно обновить свою жизнь, - сделать стрижку, переставить мебель в комнате.
- Все перепробовала, уж и не знаю, что еще сделать.
- Хм... О ! Попробуйте переставить иконки на своем рабочем столе...

Рабочий стол перекрыт сверху компонентом 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 этого ListView, определенный в модуле CommCtrl, для того, чтобы манипулировать рабочим столом. Смотрите тему "LVM_xxxx messages" в оперативной справке по Win32.

К примеру, следующая строка кода:


SendMessage(GetDesktopListViewHandle, LVM_ALIGN, LVA_ALIGNLEFT, 0);

разместит иконки рабочего стола по левой стороне рабочего стола Windows.





Похожие по теме исходники

Get Handle

Механизм вибростола

Нейросеть для распознавания образов

Механизм станка качалки для нефти

 

Весы для взвешивания

Кувшины для воды

Доска для игры Реверси




Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте