Формат файла url internetshortcut

Обновлено: 08.07.2024

Содержимое самого простого ярлыка примерно следующее:

Как Вы можете увидеть, содержимое ярлыка интернет схоже с файлом .INI. URL представляет собой адрес страницы, которую нужно загрузить. Полное определение - протокол://сервер/страница.

Новый ярлык интернет страницы

Вы можете легко создать ярлык, если у Вас есть URL страницы, с которой Вы хотите соединиться. Когда сделаете на нем двойной щелчок, откроется браузер и сайт (или Веб-документ), связанный с ярлыком.

Вот простая функция Delphi, чтобы создать .URL файл. Процедура CreateInternetShortcut создает файл ярлыка URL с указанным именем файла (Параметр FileName) для данного URL(LocationURL), перезаписывая любой существующий ярлык с тем же именем.

Вот простое использование:

Определение иконки для ярлыка

Для того, чтобы все это выглядело опрятно, Вы можете изменить связанный с ярлыком значок. По умолчанию, ярлык интернета имеет иконку браузера по умолчанию. Для изменения иконки, Вы должны добавить два дополнительных поля в .URL файл:

Поля IconIndex и IconFile позволяют Вам определить иконку для файла .URL. IconFile указывает на EXE-файл Вашего приложения (IconIndex - индекс значка в ресурсе EXE).

Интернет-ярлык для открытия приложения или документа

.URL файл не позволяет Вам использовать для чего-то еще, так как это делает стандартный ярлык приложения. Но это можно сделать, определив его так: файл:/// вместо протокол://. Когда Вы щелкните по такому ярлыку, откроется приложение.

Вот процедура, которая помещает ярлык интернета на Рабочий Стол, который указывает на Ваше *текущее* приложение. Вы можете использовать этот код, чтобы создать ярлыка для Вашей программы.

Заметьте: Вы просто вызываете CreateSelfShortcut, чтобы создать ярлыка на Ваше приложение на Рабочем Столе.

Где использовать .URL

Довольно распространенное использование - это при установке приложения, когда создается интернет ярлык в меню Пуск, который позволяет пользователям посетить Ваш сайт для получения обновлений, справочных материалов и т.д.

Новый формат url файлов и хранилище фав-иконок посещаемых сайтов

SM 2.14.1
пишет кеш иконок в
. \Profile\shortcutCache\

В about:config есть параметр
accessibility.browsewithcaret_shortcut.enabled
который по умолчанию тру
но и после изменения на false иконы все равно появляются.
Что нужно сделать, что бы запретить ?
(Например у оперы - нужно было создавать файл persistent.txt.)
==============

Так выглядит файл .url

Да секурити не нарушили зашифровав имя файла иконы, но.

Можно ли отключить это "безобразие" и привести к обыкновенному виду

№2 06-03-2013 04:38:06

Присоединяюсь к вопросу. Установил firefox 19 на XP, при драгэндропе странички на рабочий стол получаю ярлык с пустой иконкой(такой же как в случае неизвестного расширения). Посмотрел файл url`a в текстовом редакторе, там куча лишних параметров, а IconFile уводит к несуществующим иконкам (типа, IconFile=E:\FileBase\Fox\shortcutCache\vtAJw2MdFG+gzGy_kSPmmw==.ico).
Как вернуть старые добрые ярлыки без лишних параметров?

№3 06-03-2013 07:10:49

я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

№4 06-03-2013 15:22:18

Спасибо, сделал кнопочку уполовинив предложенный вами код. Но это извращение какое-то. Хотелось бы сделать так, чтобы предназначенная для этого функция браузера работала корректно. Ставила бы ссылки в урл на существующие иконки. А лучше вообще не ***** бы в shortcutCache и не добавляла в урлы IconFile.

№5 06-03-2013 21:07:57

Спасибо, сделал кнопочку уполовинив предложенный вами код.

а что там было половинить?
да часть лишних переменных можно было переписать(код слепил за 5 минут из кусков существующего вычисткой и причесыванием не занимался) но никак уж не половину. если выкинули замену символов то зря,есть любители поизврацаться с тайтлом страницы запихав туда всяких спецсимволов которые недопустимы в имени файла.
а больше на половину там ни что не тянет.
ну а насчет родной функции смиритесь - разрабов нычне проблемы юзеров не колышут..так что привыкаем сами ручками..
зы совет - по идее можно порыть в omni.ja найти файл с той функцией и поправив её запихнуть обратно но ессно с каждым обновлением придется повторять патч.
у меня давно зреет мысль конкретно распотрошить омни.жа и накопав оттуда то что связано с интерфейсом сделать патчилку котороя возвращает всё назад убивая очередные попытки разрабов извратиться.
может быть даже прикинуть чтоб собрать свой omni.ja с блэкджэком и шлюхами и при обновлениях выдирать из нового только связанное с движком и запихивать в свой..

я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

№6 06-03-2013 23:47:41

Я не ваш вариант уполовинил, а по первой вашей ссылке. Если там убрать получение и сохранение иконок, уже меньше половины остается.
Я бы с удовольствием omni.ja подредактировал, но в языках не разбираюсь. DOM инспектор показывает на странице chrome://browser/content/browser.xul есть элемент с у него есть событие ondragstart="gIdentityHandler.onDragStart(event);". Но как в этой куче js-ов из omni.js найти нужный файл в котором происходит обработка этого события, я пока не допер. Да и оно ли это?

Отредактировано Visitor7 (06-03-2013 23:53:45)

№7 07-03-2013 02:23:38

Я бы с удовольствием omni.ja подредактировал, но в языках не разбираюсь. DOM инспектор показывает на странице chrome://browser/content/browser.xul есть элемент с у него есть событие ondragstart="gIdentityHandler.onDragStart(event);". Но как в этой куче js-ов из omni.js найти нужный файл в котором происходит обработка этого события, я пока не допер. Да и оно ли это?

Отредактировано okkamas_knife (07-03-2013 03:24:09)

я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

№8 07-03-2013 03:19:11

Это я первым делом попробовал, искал "InternetShortcut", результат нулевой. Либо у меня руки кривые, либо сам алгоритм создания урла не в текстовом виде(в dll или кракозябрах), но где передаются ему данные - фиг знает. Меня бы устроило и IconFile="".

Отредактировано Visitor7 (07-03-2013 03:24:46)

Board footer

GitHub mark

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia
Язык отображения форума: [Русский] [English]

БлогNot. Учим Chrome открывать файлы .URL

Учим Chrome открывать файлы .URL

Такие файлы, представляющие собой отдельно сохранённые ссылки на сайты с дополнительной информацией об их иконках, были широко распространены в эпоху Internet Explorer и лежали в папке "Избранное" этого браузера, находящейся внутри папки вашего профиля (для XP, например, адрес "Избранного" был C:\Documents and Settings\ПАПКА_ПРОФИЛЯ\Избранное\ )

Вот что мог представлять собой типичный файл типа .url :

В современном "Хроме" можно сделать в коде домашней страницы ссылочку на папку с ярлыками и успешно по ним "ходить".

Код ссылки для примера:

Картина, полученная в браузере после перехода по такой ссылке:

Chrome: навигация по папкам


Chrome: навигация по папкам

Проблема, однако же остаётся вот в чём. Если мы щёлкаем по файлу .url - он открывается в "Хроме" как текст, например

Chrome открывает файл типа .url как текст


Chrome открывает файл типа .url как текст

При этом, не имеет значения, что "Хром" установлен как браузер по умолчанию и т.п. Просто он этого не делает. Помочь решить проблему может вот это расширение браузера:

Написать подобное расширение, особенно с использованием JQuery, тоже было бы несложно:

Просто ищем в открывшемся как текст содержимом файла .url обязательную строку

и подменяем адрес текущей страницы на этот. Так что всё равно сначала успеет показаться текстовое содержимое файла ярлыка :)

Ниже, на всякий случай, прикреплён архив с расширением Chrome для открытия файлов .url , пригодный для локальной установки на компьютер (делается как написано тут; сначала обновите Chrome на версию для разработчиков, чтоб не доставал предупреждениями).

Распаковать архив, не создавая новой папки (уже есть внутри), нажать в Хроме "Загрузить распакованное расширение. ", показать на созданную папку. Включить можно все галочки, вышло вот что:

Расширение установлено


Расширение установлено

Конечно, как альтернативу можно сделать экспорт-импорт файлов .url. Но все известные мне средства такого экспорта лепят ярлыки, некогда заботливо разложенные "Эксплорером" по разным папкам, в один файл закладок, и навигация становится неудобной.

Когда я сохраняю ярлык из Firefox на диск, это его содержимое при просмотре в текстовом или шестнадцатеричном редакторе.

Это выглядит очень просто: простой текст с разметкой в файле.

Допустим, я хочу воссоздать этот файл вручную.

1

2

Что именно подразумевается под target "" ?

Поискав здесь на сайте, я вижу, что несколько других пользователей сталкивались с этой или аналогичными трудностями с файлами ярлыков Интернета, а некоторые даже пытались создать "кроссплатформенные" файлы ярлыков Интернета. Чего я не вижу, так это почему такая боль в первую очередь.

Это должен быть простой файл с URL-адресом, который открывается в веб-браузере. Так что же делает эти файлы "Internet Shortcut" особенными? Что заставляет их тикать? Когда я сравниваю мой файл с оригиналом, они кажутся идентичными. Так в чем же тогда проблема?

Обновить

Вот некоторые интересные выводы. Слово "цель", вероятно, означает URL, а "Таблица свойств ярлыка Интернета", скорее всего, относится к вкладке «Веб-документ» в диалоговом окне свойств файла. Если я правильно помню, он назывался "Ярлык Интернета" в предыдущих версиях Windows (по крайней мере, в Windows 98). С тех пор он переименован в веб-документ.

Это еще не все! Как видно из скриншотов ниже, мой файл использует тот же дайджест SHA1, что и оригинал. Но у него нет общего значка файла и нет вкладки «Веб-документ».

Более того, когда я переименовываю свой новый файл, чтобы он начинался с заглавной буквы, он становится функциональным файлом ярлыка Интернета. Просто так! Это только начинает работать. Если я переименую его снова, чтобы он начинался с буквы в нижнем регистре, он перестал работать . снова. Не верьте мне на слово, посмотрите на скриншот ниже.

новые свойства файла с новым именем

Это также помогает начинать имя файла с подчеркивания, тире, точки, скобки, фигурной скобки, квадратной скобки, знака равенства, знака числа, восклицательного знака и т.д. Он даже правильно заменяет значок глобуса на значок листа бумаги. Переименование чего-либо, кроме test или Test действительно меняет значок.

Но что заставляет его вести себя или вести себя неправильно? Например, почему это имеет значение, если имя файла начинается с заглавной буквы? Для обычных файлов такого ограничения нет .

Обновление 2

Если имя нового файла начинается с заглавной буквы, до изменения расширения имени, а затем переименовывается так, чтобы оно начиналось со строчной буквы . тогда оно все еще работает!

Так что, если вы пойдете по этому поводу, это будет работать:

Обновление 3

Вполне вероятно, что первоначальная проблема с файлом test.url возникла на шаге 4 выше. Сначала я создал файл с именем test.txt на другом диске и переименовал его в test.url. Это было до того, как я создал второй файл с таким же именем на системном диске в папке Desktop (как показано выше). Я не помню, но вполне вероятно, что я сначала создал файл, изменил расширение имени, а затем вставил в целевой URL-адрес и сохранил его, надеясь, что он заработает простым двойным щелчком мыши. В отличие от создания файла, вставки в целевой URL, а затем изменения расширения имени.

1 ответ 1

Я думаю, что что-то получил. Как я и подозревал, Windows каким-то образом усваивает (запоминает) имена, которые вы ранее использовали для файлов ярлыков Интернета. Я провел несколько экспериментов с использованием Windows 10 TP. Я постараюсь обобщить то, что я узнал до сих пор. На приведенном ниже снимке экрана показаны значки и имена файлов, с которыми я экспериментировал.

иконки

Я буду ссылаться на них по номеру, слева направо или по имени.

ошибка

Содержимое файла

Содержание номера 1, 2, 6:

Содержание номеров 3 и 4: они пустые!

Содержание номера 5:

Заключение

Здесь нужно изучить два ключевых факта.

Обновления

Похоже, что открытие файла в Internet Explorer (если вы используете Firefox или другой сторонний браузер) может привести к исправлению испорченного файла URL. Я видел, как это произошло здесь, на Windows 8.1 с IE версии 11. Но, как объяснялось ранее, содержимое файла URL должно быть правильно определено перед открытием в IE. После этого IE будет интерпретировать содержимое и даже добавить хорошую иконку в виде значка файла, по сути, исцелив файл, добавив отсутствующее свойство «Веб-документ». Однако, это не исправило мой файл test.url. Так что это может не работать для всех файлов, и я не уверен, почему.

Я нашел это редактирование реестра, чтобы быть полезным.

После этого мой файл test.url наконец-то начал работать, и вместо глобуса он получил иконку Firefox (см. Скриншот). Это исправление изначально применялось к XP, Server 2003 и Vista. Но, видимо, он работает и в Windows 8.1 (не тестировался в Windows 10).

Причина этой ошибки, приведенная в статье Microsoft KB, не очень детальна, но в ней говорится следующее.

Там не сказано, что именно подразумевается под "уведомлением".

Как я и подозревал, Windows использует некоторые компоненты Internet Explorer для интерпретации этих файлов ярлыков Интернета (URL). Поэтому любой контент, который вы помещаете в этот текстовый файл, используется только для первоначальной интерпретации. После того как вы измените расширение имени файла на URL, вы изменили ассоциацию файла, и, таким образом, содержимое файла будет интерпретироваться Internet Explorer. Если он правильно структурирован, он превратится в рабочий URL-файл Internet URL. В противном случае (например, оставив поле пустым и изменив расширение), вы получите страшную ошибку при попытке открыть его.

Фактический ярлык хранится в другом месте, а не в самом файле, и поэтому исходный файл можно оставить пустым в виде 0-байтового файла, как только будет выполнена первоначальная интерпретация и преобразование типа файла. Файл будет служить только для указания на ярлык данных. Данные ярлыка - это поле «Веб-документ», которое хранится в файловой системе NTFS.

Весь бизнес в том, что он не может повторно использовать имя файла или то, как вы получаете этот глобус как значок файла (или значок иконки, или значок браузера), это связано с тем, как Internet Explorer кэширует веб-контент. Так что в действительности, когда вы дважды щелкаете по одному из этих файлов URL, и у вас установлен Firefox в качестве веб-браузера по умолчанию, это действительно не Firefox, который открывает URL; это Internet Explorer! Через некоторое внутреннее волшебство Windows Internet Explorer затем передает URL в Firefox, Firefox запускает и загружает URL, и вы видите свет (страница). Вы остаетесь гордиться тем, что не используете Internet Explorer.

Чтобы удалить любой кэш, который не позволяет переименовать файл, или заставить Internet Explorer повторно интерпретировать один и тот же файл с тем же именем еще раз (как после изменения его содержимого), необходимо очистить некоторые из папок кэширования. Это называется TIF или временными интернет-файлами.

Это должно работать для Windows 8, 8.1 и 10. Вы найдете эту папку в других местах в предыдущих версиях Windows. В Windows 7 я думаю, что он находится в том же месте, что и выше, до уровня Windows. Там должна быть папка, которая называется Временные файлы Интернета.

Читайте также: