тесты
Замена ярлыка
Я провел несколько тестов и получил интересные и очень интересные результаты. Я провел тест в Windows ME (это была самая ранняя версия Windows, на которой у меня была запущенная копия), и повторил ее с XP, а затем с 7. Это то, что я сделал, и вы можете повторить:
- Создайте ярлык калькулятора на рабочем столе, назовите его
C
и назначьте ему неиспользуемую горячую клавишу
- Проверьте, что горячая клавиша работает
- Создайте ярлык для «Блокнота» в папке «
Links
», назовите его « N
и назначьте ему другую, неиспользуемую горячую клавишу
- Подтвердите, что горячая клавиша не работает
- Удалить ярлык на калькулятор с рабочего стола
- Переместите ярлык «Блокнот» из папки «
Link
» на рабочий стол и переименуйте его в « C
- Нажмите горячую клавишу, которая была назначена исходному ярлыку для калькулятора
- Обратите внимание, что работает Блокнот
Это происходит в Windows ME и XP, но в Windows 7 нажатие любой горячей клавиши ничего не делало в конце.
Внутренний формат горячих клавиш
Исходя из этого, мы можем предположить, что когда вы назначаете горячую клавишу ярлыку, он назначает полный путь к ярлыку. Например, в приведенном выше тесте установка горячей клавиши Alt+⇧Shift+C на ярлык калькулятора приведет к тому, что Windows зарегистрирует что-то подобное внутри:
C A S W K P
- + + - C "C:\…\Foobar\Desktop\C.lnk"
Поэтому, если вы удалите (или переместите или переименуете) ярлык, нажатие клавиши попытается запустить ярлык, который не существует. Любопытно, что если вы отслеживаете доступ к файлам в Process Explorer, вы не увидите ошибок FILE NOT FOUND
при попытке доступа к отсутствующему ярлыку, но если вы восстановите ярлык, вы увидите, что к нему снова обращаются, когда вы нажимаете горячую клавишу.
Автоматическое управление горячими клавишами
Кроме того, тот факт, что Windows 7 не запускает скопированные ярлыки, по-видимому, указывает на то, что Explorer выполняет какое-то управление горячими клавишами при перемещении, переименовании или удалении ярлыков, но, конечно, существуют ограничения в отношении того, что он может делать. (Например, если два ярлыка совместно используют горячую клавишу, удаление того, у которого есть горячая клавиша, не приведет к внезапному переназначению горячей клавиши другому, вам нужно вручную открыть диалоговое окно свойств этого ярлыка и нажать [OK]
чтобы сделать это.)
Перенаправление папки ссылок
Затем я подумал о перенаправлении папки « Links
» (рисунок 1). Я попытался перенаправить его, затем скопировал перемещенную папку обратно в исходное местоположение. Я обнаружил, что горячие клавиши не работают для ярлыков в любой папке. Затем я попытался удалить атрибуты из папок и даже удалить из них файлы desktop.ini
предполагая, что Windows обрабатывает их специально, но это не помогло. Затем я создал новую обычную папку в папке пользовательских данных, и, к моему удивлению, горячие клавиши все равно не сработали.
Горячие клавиши быстрого доступа вокруг файловой системы
Далее я попробовал его с помощью ярлыка на другом диске, и все равно ничего. Я попытался назначить горячие клавиши для ярлыков в нескольких разных местах в Windows 7, и только горячие клавиши, которые были в папках Desktop
или в Start Menu
или в одном из их подкаталогов, могли использовать горячие клавиши.
Выводы
Кажется, что функция горячих клавиш в Explorer крайне ограничена и работает только для меню «Пуск» и рабочего стола. Я не знаю, является ли это ошибкой или предназначено, потому что я не могу найти никакого упоминания об ограничении. На собственной странице Microsoft по этому вопросу ничего не сказано. (Дайте им знать через форму обратной связи. Я нажал [No]
и отправил ссылку на эту страницу.) Нет оснований полагать, что это отличается в Windows 8 или 8.1 или, возможно, даже в будущих версиях (при условии, что они вообще сохраняют Explorer).
рекомендации
Вы можете (попытаться) сообщить об этом, но я бы не стал надеяться, что это будет исправлено. Было бы быстрее и проще хранить ярлыки, для которых нужны горячие клавиши, в другой папке.
Рисунок 1: Настройка расположения ссылок: