Формат файла url internetshortcut
The Internet shortcut object is used to create desktop shortcuts to Internet sites. Like shortcuts to items in the file system, Internet shortcuts take the form of an icon on the desktop. When the user clicks the icon, the browser is launched and displays the site associated with the shortcut.
The following topics are discussed.
Creating Internet Shortcuts
You can create an Internet shortcut by using a WebBrowser control or with the URL of the page.
Creating an Internet Shortcut from a WebBrowser Control
If your application hosts a WebBrowser control, you can use the Internet shortcut object to create shortcuts in the following way.
- Create an instance of the Internet shortcut object with CoCreateInstance, using a class identifier (CLSID) of CLSID_InternetShortcut.
- Pass the pointer to the WebBrowser's IUnknown interface to the Internet shortcut object with IObjectWithSite::SetSite.
- Call the Internet shortcut object's IPersistFile::Save method when you want to create a shortcut to the page being viewed by the WebBrowser control.
A shortcut will be created in the location specified in IPersistFile::Save. This location enables the WebBrowser control to restore its state, which includes the task of loading of the correct documents into framesets.
Creating an Internet Shortcut from a URL
You can also create an Internet shortcut if you have the URL of the page to which you want to link.
- Create an instance of the Internet shortcut object with CoCreateInstance, using a CLSID of CLSID_InternetShortcut.
- Use the IUniformResourceLocator::SetURL method to set the URL in the shortcut.
- Use the IPersistFile::Save method to save the shortcut file to a desired location.
Accessing Property Storage
The Internet shortcut object contains several properties that you can access through the object's IPropertySetStorage interface with the following procedure.
- Get the IPropertySetStorage interface by calling QueryInterface with IID_IPropertySetStorage.
- Access the Internet shortcut property storage set by calling IPropertySetStorage::Open with FMTID_Intshcut or FMTID_InternetSite to obtain the IPropertyStorage interface.
- Read the property storage information with IPropertyStorage::ReadMultiple by passing the appropriate property ID.
With version 4.70 or higher of Shell32.dll, you can also retrieve the IPropertySetStorage interface by calling IShellFolder::BindToStorage with the pidl parameter set to the .URL file and the riid parameter set to IID_IPropertySetStorage.
Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.
№1 10-01-2013 03:58:01
Новый формат 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
дополнительными адресами могут быть например, ссылки на иконку (favicon). в кодах - например время последнего обращения (к ярлыку именно. если ты руками набрал адрес, то время в ярлыке не обновится)
__________________
все "спасибы" - в приват и в репутацию! не засоряйте форум.
~~~~~~~~~~~~~~~~~~~~~~
The time has come it is quite clear, our antichrist is almost already here.
всё-таки хотелось бы знать, зачем в ярлыке два адреса и что такое код modified?
что удалить, чтобе обеспечить максимальную конфиденциальность?
Типичный Файл URL:
Каждая строка заканчивается с CR+LF (конец строки в тексте DOS/Windows). В качестве кодировки используется ANSI. Файлами можно управлять, используя базовый файловый ввод/вывод или API функции GetPrivateProfileString, GetPrivateProfileSection, WritePrivateProfileSection, WritePrivateProfileSring, предоставляемые Windows.
URL
Значение поля URL очевидно. Это адрес страницы, для загрузки. Это должен быть полностью определённый URL с форматом protocol://сервер/страница . Файл URL не привязан к протоколу HTTP. На самом деле, любая ссылка, которая может быть сохранена в "Избранном" - действительный URL.
WorkingDirectory
Рабочая папка для запуска файла URL. Рабочая папка - папка, которая будет установлена как текущая папка для приложения, которое открыло бы файл. Однако Internet Explorer, кажется, не использует это поле.
Отметьте: это значение, применимо не во всех версиях Internet Explorer / Windows.
IconIndex
Индекс Изображения в пределах библиотеки изображений, заданной IconFile. В библиотеке изображения, которая может вообще говоря быть или ICO, DLL или файлом EXE, изображения внесены в указатель с числами. Индекс первого изображения 0.
IconFile
Определяет путь файла библиотеки изображения. Вообще библиотека изображения может быть ICO, DLL или файлом EXE. Библиотека изображения, используемая по умолчанию, обычно URL.DLL в каталоге Windows\System.
Modified
Это поле является самым загадочным из всех.
Пример: Modified=20F06BA06D07BD014D
Это дата последнего обращения, закодированная в шестнадцатеричном числе. [подробности я приводить не стану]
ShowCommand
Размер окна браузера при открытии.
(пусто) - Нормальный
7 - Минимизированный
3 - Максимизируемый
Отметьте: это значение, применимо не во всех версиях Internet Explorer / Windows.
HotKey
"Горячая клавиша" для запуска URL.
[см. приложение А статьи-оригинала]
РАСШИРЕННЫЙ ФОРМАТ URL
Иногда файл URL содержит больше информации, когда сохраняется в "Избранном" со следующим форматом:
Цель этих дополнительных областей показать браузеру, какие документы HTML были загружены в каждом фрейме, так как главный URL имеет тенденцию не сохранять данных о сосоянии фреймсетов.
Типовой Файл URL с расширенными областями URL и вложенными фреймами:
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила!
Распространенье наше по планете
Особенно заметно вдалеке:
В общественном парижском туалете
Есть надписи на русском языке
В. Высоцкий
Как создать ярлык URL для доступа в интернет
В отличие от обычных ярлыков .LNK (Ярлык к документу или приложению) ярлык интернет указывает на URL (путь к веб-документу). Вот, что нужно, чтобы создать интернет ярлык, используя Delphi.
Самый простой способ просмотреть ярлык интернета - открыть его в Блокноте. Содержимое самого простого ярлыка примерно следующий:
Как Вы можете увидеть, содержимое ярлыка интернет схоже с файлом .INI. URL представляет собой адрес страницы, которую нужно загрузить. Полное определение - протокол://сервер/страница.
Новый ярлык интернет страницы
Вы можете легко создать ярлык, если у Вас есть URL страницы, с которой Вы хотите соединиться. Когда сделаете на нем двойной щелчок, откроется браузер и сайт (или Веб-документ), связанный с ярлыком.
Вот простая функция Delphi, чтобы создать .URL файл. Процедура CreateInternetShortcut создает файл ярлыка URL с указанным именем файла (Параметр FileName) для данного URL(LocationURL), перезаписывая любой существующий ярлык с тем же именем.
Вот простое использование:
Определение иконки для ярлыка
Для того, чтобы все это выглядело опрятно, Вы можете изменить связанный с ярлыком значок. По умолчанию, ярлык интернета имеет иконку браузера по умолчанию. Для изменения иконки, Вы должны добавить два дополнительных поля в .URL файл:
Поля IconIndex и IconFile позволяют Вам определить иконку для файла .URL. IconFile указывает на EXE-файл Вашего приложения (IconIndex - индекс значка в ресурсе EXE).
Интернет-ярлык для открытия приложения или документа
.URL файл не позволяет Вам использовать для чего-то еще, так как это делает стандартный ярлык приложения. Но это можно сделать, определив его так: файл:/// вместо протокол://. Когда Вы щелкните по такому ярлыку, откроется приложение.
Вот процедура, которая помещает ярлык интернета на Рабочий Стол, который указывает на Ваше *текущее* приложение. Вы можете использовать этот код, чтобы создать ярлыка для Вашей программы.
Заметьте: Вы просто вызываете CreateSelfShortcut, чтобы создать ярлыка на Ваше приложение на Рабочем Столе.
Где использовать .URL
Довольно распространенное использование - это при установке приложения, когда создается интернет ярлык в меню Пуск, который позволяет пользователям посетить Ваш сайт для получения обновлений, справочных материалов и т.д.
Как создать ярлык URL для доступа в интернет
В отличие от обычных ярлыков .LNK (Ярлык к документу или приложению) ярлык интернет указывает на URL (путь к веб-документу). Вот, что нужно, чтобы создать интернет ярлык, используя Delphi.
Самый простой способ просмотреть ярлык интернета - открыть его в Блокноте. Содержимое самого простого ярлыка примерно следующий:
Как Вы можете увидеть, содержимое ярлыка интернет схоже с файлом .INI. URL представляет собой адрес страницы, которую нужно загрузить. Полное определение - протокол://сервер/страница.
Новый ярлык интернет страницы
Вы можете легко создать ярлык, если у Вас есть URL страницы, с которой Вы хотите соединиться. Когда сделаете на нем двойной щелчок, откроется браузер и сайт (или Веб-документ), связанный с ярлыком.
Вот простая функция Delphi, чтобы создать .URL файл. Процедура CreateInternetShortcut создает файл ярлыка URL с указанным именем файла (Параметр FileName) для данного URL(LocationURL), перезаписывая любой существующий ярлык с тем же именем.
Вот простое использование:
Определение иконки для ярлыка
Для того, чтобы все это выглядело опрятно, Вы можете изменить связанный с ярлыком значок. По умолчанию, ярлык интернета имеет иконку браузера по умолчанию. Для изменения иконки, Вы должны добавить два дополнительных поля в .URL файл:
Поля IconIndex и IconFile позволяют Вам определить иконку для файла .URL. IconFile указывает на EXE-файл Вашего приложения (IconIndex - индекс значка в ресурсе EXE).
Интернет-ярлык для открытия приложения или документа
.URL файл не позволяет Вам использовать для чего-то еще, так как это делает стандартный ярлык приложения. Но это можно сделать, определив его так: файл:/// вместо протокол://. Когда Вы щелкните по такому ярлыку, откроется приложение.
Вот процедура, которая помещает ярлык интернета на Рабочий Стол, который указывает на Ваше *текущее* приложение. Вы можете использовать этот код, чтобы создать ярлыка для Вашей программы.
Заметьте: Вы просто вызываете CreateSelfShortcut, чтобы создать ярлыка на Ваше приложение на Рабочем Столе.
Где использовать .URL
Довольно распространенное использование - это при установке приложения, когда создается интернет ярлык в меню Пуск, который позволяет пользователям посетить Ваш сайт для получения обновлений, справочных материалов и т.д.
Читайте также: