Разовое применение с целью разрушить устоявшееся представление индивидума
о незыблемости иконок на рабочем столе.
Показания:
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 - алгоритмы по управлению иконками
Живой Desktop - это приключенческий Shell-расширение, позволяющее изменять структуру иконок на рабочем столе в реальном времени.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.