Статьи Королевства Дельфи

       

"Живой Desktop" — вариант использования Shell


Раздел Сокровищница

Что это:Прикольное расширение Shellа. Назначение:Разовое применение с целью разрушить устоявшееся представление индивидума о незыблемости иконок на рабочем столе. Показания:

  • WinNT4/Win2000 (для других не проверялось);
  • Непосредственный доступ к жертве;
  • D6 +/- 3 версии я думаю.

Внимание - это демонстрация, содержит как минимум одну ошибку приводящую к завершению работы Explorerа без сохранения данных через ~ 20 мин.

Предыстория: Работает у нас один парень все ничего вот только у него странная тяга к иконкам на рабочем столе что выражается в их не мерянном количестве и особо структурированном распределении (сложном и непонятном с полпинка). Как то раз, с утречка он включает комп и... О БОЖЕ !?!?!, по неизвестной причине, ОНИ (иконки - прядка 30~40 штук) были упорядочены!!! и выровнены!!! стандартным образом... что тут началось... (вырезано по требованию правозащитных организаций ) прям конец света :) в общем стены устояли. Парень наотрез отказался работать до тех пор пока не расставит все иконки в только ему ведомом порядке и в соответствии с распределением космических сил - ушел в нирвану на пол дня.
Ну и я, под впечатлением от силы воздействия иконок, решил написать прогу по их своеобразному упрядовачиванию в (как говорится) real-time :) Как сделано: После взвешивания цели и возможных средств доставки было выбрано - повесить на получение контекстного меню (Explorer файл/папка) дллку в которой собственно и осуществляется вся работа.
В качестве основы был взят пример \Borland\Delphi6\Demos\ActiveX\ShellExt\..
Реализовано три алгоритма поведения иконок - черви (Worms), частицы (Atoms) и мышь серая (Mouse).

  • Worms: черви в виде цепочек иконок бегают по рабочему столу поедая друг друга увеличиваясь в длине.
  • Atoms: мечутся по экрану с учетом связей между собой.
  • Mouse: избегают курсора мыши.
Содержание:
  • ContextM.pas - реализация IContextMenu
  • DeskHelp.pas - получение хендла ListView рабочего стола
  • UthDeskIcon.pas - алгоритмы по управлению иконками
  • fsc.reg - регистрация в системе
  • FtpSC32.dpr - проект дллки
  • ReadMe.txt - хмм
Скачать (56K)

Митронов Станислав




Содержание раздела