скрыть

скрыть

  Форум  

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

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



Google  
 

Живой 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 - хмм
Скачать DskIcLive.zip (56K)





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook