Я задавался вопросом, есть ли способ (по окнам) заставить запущенное приложение запускаться с клика по гиперссылке. Для базового примера:
У пользователя есть приложение SuperPing, установленное на их машине. Если они должны были щелкнуть ссылку в своем браузере со следующим URL-адресом, она запустит приложение.
SPing://8.8.4.4
Это приведет к следующему:
"C:\SuperPing.exe" /ip 8.8.4.4
Поэтому мой вопрос в том, каков был бы способ создать этот крючок, чтобы все произошло на основе URL-адреса. Это очень похоже на то, как iPhone может запускать определенные приложения при правильном подключении к ссылке.
Вы можете зарегистрировать собственный обработчик 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"
Когда пользователь нажимает ссылку, содержащую вашу настраиваемую схему 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
(нет необходимости в ://
).