Управление "ярлыками"

В статье речь пойдет о файлах с расширением "*.lnk" (аббревиатура, дословно - "связь"), которые называются "Ярлык" или "Shortcut" в английском варианте. Эти файлы, в отличие от иконок, принадлежащих исполнимым файлам или документам, видны с маленьким белым квадратом в нижнем левом углу, с прорисованной на нем стрелкой. Они не несут существенной функциональной нагрузки и служат для удобства организации меню, доступа к приложениям или документам.
После инсталляции программ часто бывает нужно реорганизовать "стартовое меню", переместив "Ярлыки" на другое место. При инсталляции программы запрашивают группу, в которую необходимо поместить пакет. После запуска "setup" и ответа на стандартные вопросы о желаемом каталоге (обычно входящем в каталог "Program Files"), "имени пользователя", "организации", "серийном номере" (тут возможны варианты), инсталляционные пакеты выбирают группы из входящих в меню "Программы" ("Programs" в английской версии). Обычно выбор производится из "комбинированного выпадающего списка" ("combobox"), реже предлагается ввести название группового окна в "окне редактирования" ("textedit"). И никак не дальше.

Однако, это не так. Приведу примеры, используя инсталлятор карты Минска:

1. Чтобы поместить инсталлируемую программу на один уровень с меню "Программы", достаточно набрать ""..\3D MINSK MAP"" вместо предлагаемого "3D MINSK MAP" (в данном примере двойные кавычки обязательны! - объяснение ниже.) И карта Минска попадет на один уровень с группой "Программы" и будет видна над иконками "Документы", "Настройка", "Поиск", выше разделительной линии.

2. В Windows 95 появилась возможность помещать одно групповое окно в другое, создавая групповое окно с несколькими уровнями вложенности. Например, в группу "Программы" входит группа "Стандартные", в ней находятся группы "Мультимедиа", "Служебные программы" и т.д. При необходимости поместить программу в группу второго уровня следует набрать ""Стандартные\3D MINSK MAP"" вместо "3D MINSK MAP". И группа с картой Минска автоматически разместится в группе "Стандартные".

3. Если название группы (путь к файлу) включает в себя пробелы, то всю строку следует заключить в двойные апострофы - """. В Windows 95 наряду с поддержкой длинных имен появилась возможность использовать пробелы в названиях папок и файлов. С другой стороны, символ пробелы является "символом-разделителем", таким же символ конца строки, табуляции. В Windows возникает конфликт и операционка "обрывает" имя, встречая первый попавшийся пробел. Для предотвращения конфликта пути к групповым файлам содержащие пробелы следует обязательно заключить в двойные апострофы.

Другая проблема возникает при реорганизации групп, перемещении ярлыков для перестройки главного меню "под себя". Можно, открыв проводник, воспользоваться буфером промежуточного хранения и перемещать объекты с помощью команд "вырезать", "копировать", "вставить". Или, запустив два проводника, таскать мышью из одного окна в другое. Я нахожу это неудобным. Для быстрой реорганизации групповых окон и ярлыков можно воспользоваться любой оболочкой типа "Коммандер".

На самом деле, термин "групповое окно" не совсем корректен для Windows 95. Если в Windows 3.X это были отдельные файлы с информацией о ярлыках и документах, то в Windows 95/98 - это обычные папки, которые могут содержать в себе любые файлы, в том числе с расширением "lnk", другие папки. Хотя для точности изложения следует отметить, что в Windows 95 осталась поддержка файлов групп. Они остаются при установке в каталоге Windows и имеют расширение "grp". Для работы с ними и возможности запуска 95-тки с оформлением Windows 3.x существует альтернативная "проводнику" оболочка "progman.exe", находящаяся во все том же каталоге Windows. Видимо для любителей старины также присутствуют "winfile.exe" - "диспетчер файлов", "taskman. exe" - "переключатель задач", анахронизмы Windows 3.x.

Отсюда, вышеизложенные способы манипуляций групповыми окнами при инсталляции программ получают свое объяснение. Фактически, это было банальное перепрописывание путей к необходимым директориям (папкам в новой терминологии).

Для точной локализации папок, отвечающих за содержание "рабочего стола", меню "Программы", меню "Документы", в редакторе системного реестра откройте раздел:

HKEY_CURRENT_USER\Software\ Microsoft\Windows\CurrentVersion\ Explorer\Shell Folders

Я приведу значение нескольких необходимых по теме параметров с расшифровкой (все значения даны для "русской" версии Windows 95):

1. "Desktop" - содержимое "рабочего стола". Папка "Рабочий стол" содержит в себе папку с содержимым "портфеля". Значение "по умолчанию" - "C:\WINDOWS\Рабочий стол";

2. "Favorites" - избранные адреса для Internet Explorer. Значение "по умолчанию" - "C:\WINDOWS\Избранное";

3. "Personal" - папка для хранения документов "по умолчанию". Значение - "C:\Мои документы";

4. "Programs" - нахождение папки отвечающей за отображение пункта меню "Программы". Значение "по умолчанию" - "C:\WINDOWS\Главное меню\Программы";

5. "Recent" - нахождение папки отвечающей за отображение в пункте меню "Документы" списка документов, с которыми в последний раз велась работа. Значение "по умолчанию" - "C:\WINDOWS\Recent";

6. "Start Menu" - нахождение папки, отвечающей за отображение пункта меню "Программы", и дополнительных иконок, находящихся выше разделительной черты. Например, иконок "Открыть документ Microsoft Office", "Создать документ Microsoft Office". Значение "по умолчанию" - "C:\WINDOWS\Главное меню";

7. "Startup" - нахождение папки отвечающей за папки "автозагрузки". Из этой папки могут стартовать приложения, так называемый автозапуск. Например, "Поиск файлов", "Быстрый запуск Microsoft Office". Значение "по умолчанию" - "C:\WINDOWS\Главное меню\Программы\Автозагрузка";

Этот раздел также продублирован еще в одном месте реестра:

HKEY_USERS\.Default\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders

Открыв в "Коммандере" соответствующие директории, можно напрямую редактировать содержимое: перемещать папки, удалять или копировать ярлыки. Так же легко организовать резервное копирование в отдельную папку содержимого "стартового меню" для переинсталляции Windows и последующего быстрого восстановления. Или заархивировать с той же целью.

Есть еще один способ быстрого доступа через проводник к содержимому "Стартового меню" - на кнопке "Пуск" щелкнуть правой клавишей мыши и выбрать пункт "Проводник".

Немного горечи. Internet Explorer версии 3.0 "принимает к рассмотрению" файлы с расширением "lnk". Если браузер встретит ссылку подобную "C:\WINDOWS\ Главное меню\Wlingvo.exe. lnk", то произойдет запуск "ярлыка". И если пользователь в диалоге "Открытие" разметил флажок - "Всегда выдавать запрос при открытии таких файлов" и по умолчанию выбрал опцию "Открыть", вместо "Сохранить на диске", - приложение или документ, прописанный в "ярлыке", немедленно запустится на исполнение. Запуск произойдет, даже если уровень безопасности браузера поставлен в "High". Это может быть использовано для атаки, деструктивных действий или проникновения в Windows-систему. Этот баг присутствует в версиях 3.0 - 3.01 Explorer-а. Работоспособен в Windows 95. Windows NT и другие операционки не подвержены этому - там просто нет файлов такого типа (lnk). Netscape Navigator или Opera такому багу также не подвержены. Так что будьте внимательны. Или меняйте браузер, или ищите соответствующий "патч" от Microsoft.
Black Prince


Компьютерная газета. Статья была опубликована в номере 07 за 2000 год в рубрике разное :: страна советов

©1997-2024 Компьютерная газета