Прячем ярлыки на рабочем столе
Очередная мелкая развлекушка на Ассемблере. Сегодня будем прятать все ярлыки на рабочем столе. Нам не понадобится никаких громоздких структур, объектов, интерфейсов и прочей паранормальщины. И что хорошо, фактически все ярлыки остаются на своих местах, ничего не надо потом восстанавливать, ведь при прятании просто скрывается дочерний элемент окна десктопа, в котором ярлыки находятся.Code (Assembler) : Убрать нумерацию
- ; Сегмент данных
- section '.data' data readable writeable
- szProg db 'ProgMan',0
- ; Сегмент кода
- section '.code' code readable executable
- ...
- invoke FindWindow,szProg,NULL
- invoke GetWindow,eax,GW_CHILD
- invoke GetWindow,eax,GW_CHILD
- ; Сохранить хэндл окна с ярлыками
- mov ebx,eax
- ; Ярлыки показываются?
- invoke IsWindowVisible,ebx
- or eax,eax
- jne @f
- ; Нет, показать
- invoke ShowWindow,ebx,SW_SHOW
- jmp loc_exit
- @@:
- ; Да, скрыть
- invoke ShowWindow,ebx,SW_HIDE
- loc_exit:
В приложении пример программы с исходным текстом, которая при каждом запуске поочередно прячет или показывает ярлыки на рабочем столе.
Просмотров: 1113 | Комментариев: 3
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
ManHunter
(12.08.2020 в 13:09):
Ну да, отследить последний пользовательский ввод и активность системы, по таймеру скрыть значки, по началу активности вернуть обратно. Тоже применение. Типа скринсейвера-обоесейвера :)
DRON
(10.08.2020 в 00:46):
Некое практическое воплощение данной идеи:
http://www.softwareok.com/?sei...DesktopIcons
Скрывает по таймеру. Используется, по видимому, для любования обоями.
http://www.softwareok.com/?sei...DesktopIcons
Скрывает по таймеру. Используется, по видимому, для любования обоями.
Добавить комментарий
Заполните форму для добавления комментария
Ну это вряд ли :) Если только уж совсем юзер неопытный. Через контекстное меню на десктопе все иконки легко включаются штатным образом: Вид -> Отобжажать значки рабочего стола путем повторного выставления "галочки". Так же и выключаются, без программирования.
Вот если немного изменить Ваш код, у Program Manager отключить видимость без поиска дочерних, то да, тогда и иконки спрячутся, и контекстное меню вызвать не выйдет. Но это уже другая история...