Как стать автором
Обновить

Как прикрепить к новому таскбару Windows 7 любой файл

Разработка под Windows *
Tutorial
logo Новый таскбар Windows 7 отличается не только от дока макос, но также умом и сообразительностью. В частности, он очень обижается, когда к нему хотят прикрепить (pin) что-либо, отличное от .exe файла: скрипт, программу на питоне. Логику разработчиков легко понять: новый таскбар автоматически помещает прикрепляемые документы в контекстное меню программ. Например, если перетащить на таскбар текстовый документ, то к таскбару будет прикреплен notepad, а сам документ будет доступен по правому клику из списка 'pinned items'. К сожалению, у данного подхода есть две проблемы. Во-первых, нужно делать правый клик на иконке — лишнее движение, очень неудобное на тачпадах ноутбуков. Во-вторых, данный способ не работает для многих типов файлов, например — .bat файлов или скриптов на питоне. Гугление, как ни странно, быстрого ответа не дает. Поэтому, уважаемые коллеги, я вкратце законспектировал последовательность шагов, которая позволяет прикрепить к таскбару любой файл и сменить его иконку.


Шаг первый


Прикрепляем к таскбару любую программу, например — notepad:
source

Шаг второй


Нажимаем start и исполняем команду shell:user pinned. В открывшейся папке выбираем «TaskBar» — в этой скрытой папке лежат ярлыки с таскбара. Правый клик на ярлык notepad, выбираем properties, закладку shortcut и в поле target в кавычках вписываем имя файла, который хотим прикрепить к таскбару. Например, .bat файл. Теперь клик по иконке notepad в таскбаре откроет или запустит выбранный файл.

Шаг третий


Для смены иконки также правый клик на ярлык notepad, properties, закладка shortcut, кликаем на 'change icon' и устанавливаем нужную иконку. К сожалению, иконка поменяется только у ярлыка в скрытой папке — в таскбаре останется старая, потому что засахарилось закешировалось. Для обновления кеша закрываем все программы, запускаем task manager и убиваем процесс explorer. Затем из верхнего меню task manager выбираем file, 'new task' и запускаем cmd. Набираем следующие команды:
attrib -h %userprofile%\AppData\Local\IconCache.db
del %userprofile%\AppData\Local\IconCache.db
После успешного удаления кеша запускаем explorer через тот же task manager. Вуаля — имеем иконку в таскбаре которая открывает нужный нам файл и выглядит как нам нужно:
result

Недостатки


Как уже говорилось, данный способ является достаточно глубокой кастомизацией и изначально создателями нового таскбара не предполагался. Поэтому получившаяся иконка, хотя и будет выглядеть как мы хотим и запускать что угодно, потеряет возможность ассоциироваться с запущенным приложением. Конечно, если на нее подвешен скрипт без GUI, то это не проблема. Но если при выполнении будет вызвана программа, то ее иконка не будет связана с нашей и будет показана отдельно. Если кто знает как windows 7 ассоциирует иконки а таскбаре и окна запущенных программ — поделитесь секретом :).
Теги:
Хабы:
Всего голосов 87: ↑66 и ↓21 +45
Просмотры 6.6K
Комментарии Комментарии 87