Реализовать открытие собственных ссылок собственным приложением - PullRequest
1 голос
/ 26 марта 2010

Я хотел бы реализовать следующее поведение:

У меня есть специальный медиаплеер, способный воспроизводить интернет-потоки (типы потоков не важны, мы можем считать, что это просто медиафайлы). У человека Х есть несколько ссылок на такие потоки, и он будет готовить HTML-страницы со ссылками в соответствии с моими правилами.

Цель: если пользователь нажимает на такую ​​ссылку в браузере, то проверяется наличие установленного моего приложения.

  • Если приложение не установлено, то пользователю предлагается установить мое приложение. После того, как пользователь согласен на установку, приложение устанавливается (через удаленный MSI) и запускается со строкой в ​​качестве параметров командной строки.

  • Если приложение установлено, оно запускается со строкой в ​​качестве параметров командной строки.

Я полагаю, что одним из способов реализации этого является написание элемента управления ActiveX (который на самом деле не является элементом управления, поскольку ActiveX не будет содержать элементов пользовательского интерфейса, за исключением некоторых окон сообщений). ActiveX проверит, установлено ли мое приложение, при необходимости предложит установить приложение; запустить установщик; Запустите установленное приложение. Вопросы:

  • Какие еще подходы можно применить (кроме AciveX)?
  • Я не писал элементы управления AciveX. Какие начальные точки (полезные ссылки) вы можете порекомендовать для написания такого ActiveX (учитывая, что он будет закодирован в MSVC ++)?
  • Какие-то еще замечания или рекомендации?

Заранее спасибо.

1 Ответ

1 голос
/ 26 марта 2010

Использование ActiveX не будет совместимо с разными браузерами, хотя вы можете разработать плагины для каждого из основных браузеров, для которых все равно потребуется установка или авторизация пользователя. Боюсь, вам будет трудно, если вы не готовы сократить одно из ваших требований (например, первое).

Чтобы выполнить второе требование, вам нужно зарегистрировать пользовательский обработчик протокола URL . Затем вы можете запустить установленное приложение по простой ссылке:

<a href="myapp://someCommand/>Click to open with my app!</a> 

Однако для пользователей, у которых не установлено ваше приложение, URL-адрес не будет работать. Одним из обходных путей для IE (поскольку вы упомянули ActiveX) было бы добавление приложением к строки агента пользователя , а затем проверка на наличие этой строки с помощью кода на стороне сервера или на стороне клиента. Если его там нет, значит, ваше приложение установлено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...