Как создать ярлык URL для доступа в интернет

Печать
Статьи

В отличие от обычных ярлыков .LNK (Ярлык к документу или приложению) ярлык интернет указывает на URL (путь к веб-документу). Вот, что нужно, чтобы создать интернет ярлык, используя Delphi.

Самый простой способ просмотреть ярлык интернета - открыть его в Блокноте. Содержимое самого простого ярлыка примерно следующий:


[InternetShortcut]
 URL=http://delphiru.ru

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

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

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

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


uses IniFiles;
 { ... }
 procedure CreateInternetShortcut(const FileName, LocationURL : string) ;
 begin
   with TIniFile.Create(FileName) do
   try
     WriteString(
        'InternetShortcut',
        'URL',
        LocationURL) ;
   finally
     Free;
   end;
 end; (*CreateInterentShortcut*)

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


procedure TForm1.Button1Click(Sender: TObject);
begin
    // Создаем файл .URL по имени "Программирование Delphi"
    // В корневой директории диска C
    // указывающий на http://delphiru.ru

    CreateInterentShortcut('c:\Программирование Delphi.URL ', 'http://delphiru.ru') ;
end;

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

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


[InternetShortcut]
 URL=http://delphiru.ru
 IconIndex=0
 IconFile=C:\MyFolder\MyProgram.exe

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

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

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


[InternetShortcut]
 URL = file:///C:\MyApps\MyProgram1.exe
 IconIndex = 0
 IconFile = C:\MyFolder\MyResProgram.exe

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


uses IniFiles, ShlObj;
 { ... }
 function GetDesktopPath: string;
 // Получить расположение папки Рабочего Стола
 var
   DesktopPidl: PItemIDList;
   DesktopPath: array [0..MAX_PATH] of Char;
 begin
   SHGetSpecialFolderLocation(0, CSIDL_DESKTOP, DesktopPidl) ;
   SHGetPathFromIDList(DesktopPidl, DesktopPath) ;
   Result := IncludeTrailingPathDelimiter(DesktopPath) ;
 end; (*GetDesktopPath*)
 
 procedure CreateSelfShortcut;
 const
   FileProtocol = 'file:///';
 var
   ShortcutTitle : string;
 begin
   ShortcutTitle := Application.Title + '.URL';
 
   with TIniFile.Create(GetDesktopPath + ShortcutTitle) do
   try
     WriteString(
        'InternetShortcut',
        'URL',
        FileProtocol + Application.ExeName) ;
     WriteString(
        'InternetShortcut',
        'IconIndex',
        '0') ;
     WriteString(
        'InternetShortcut',
        'IconFile',
        Application.ExeName) ;
   finally
     Free;
   end;
 end; (*CreateSelfShortcut*)

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

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

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