Запуск приложения по гиперссылке

1

Я задавался вопросом, есть ли способ (по окнам) заставить запущенное приложение запускаться с клика по гиперссылке. Для базового примера:

У пользователя есть приложение SuperPing, установленное на их машине. Если они должны были щелкнуть ссылку в своем браузере со следующим URL-адресом, она запустит приложение.

SPing://8.8.4.4

Это приведет к следующему:

"C:\SuperPing.exe" /ip 8.8.4.4

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

Теги:

1 ответ

3
Лучший ответ

Вы можете зарегистрировать собственный обработчик URL-адресов, когда ваше приложение установлено. Дополнительную информацию см. В MSDN.

Вот соответствующий отрывок со страницы:


Чтобы зарегистрировать приложение для обработки конкретной схемы URI, добавьте новый ключ вместе с соответствующими подразделами и значениями в HKEY_CLASSES_ROOT. Корневой ключ должен соответствовать схеме URI, которая добавляется. Например, чтобы добавить схему alert: добавьте ключ alert в HKEY_CLASSES_ROOT следующим образом:

HKEY_CLASSES_ROOT
   alert
      URL Protocol = ""

В этом новом ключе значение строки URL Protocol указывает, что этот ключ объявляет пользовательский подключаемый обработчик протокола. Без этого ключа приложение обработчика не запускается. Значение должно быть пустой строкой.

Ключи также должны быть добавлены для DefaultIcon и shell. По Default строки значение DefaultIcon ключа должно быть именем файла для использования в качестве иконки для этой новой схемы URI. Строка принимает path, iconindex формы path, iconindex с максимальной длиной MAX_PATH. Имя первого ключа под ключом shell должно быть глаголом действия, таким как open. Под этим ключом command ключ или ключ DDEEXEC указывают, как следует DDEEXEC обработчик. Значения под command и ключи DDEEXEC описывают, как запустить приложение, обрабатывающее новый протокол.

Наконец, значение строки по Default должно содержать отображаемое имя новой схемы URI. В следующем примере показано, как зарегистрировать приложение, alert.exe в этом случае, для обработки схемы предупреждений.

HKEY_CLASSES_ROOT
   alert
      (Default) = "URL:Alert Protocol"
      URL Protocol = ""
      DefaultIcon
         (Default) = "alert.exe,1"
      shell
         open
            command
               (Default) = "C:\Program Files\Alert\alert.exe" "%1"

Изображение 174551

Когда пользователь нажимает ссылку, содержащую вашу настраиваемую схему URI, Windows Internet Explorer запускает подключаемый обработчик протокола, зарегистрированный для этой схемы URI. Если указанная команда open указанная в реестре, содержит параметр %1, Internet Explorer передает URI зарегистрированному подключаемому приложению протокола.


Итак, в вашем случае вы добавили бы этот ключ:

HKEY_CLASSES_ROOT
   SPing
      (Default) = "URL:SPing Protocol"
      URL Protocol = ""
      DefaultIcon
         (Default) = "SuperPing.exe,1"
      shell
         open
            command
               (Default) = "C:\SuperPing.exe" /url "%1"

Затем вы должны изменить свое приложение, чтобы принять аргумент командной строки "/url", который будет заполнен полным URL-адресом, используемым для запуска вашего приложения (поэтому он не будет автоматически разделять часть после URL-адреса).

Синтаксис зависит от вас, но он будет таким же простым, как SPing:8.8.4.4 (нет необходимости в ://).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню