Страницы

Поиск по вопросам

воскресенье, 12 мая 2019 г.

Запуск приложения с помощью собственного протокола

На сетевом диске лежит приложение abc.exe. Как написать протокол, чтобы такая команда abc:\\param запускала это приложение с параметром param? Как пишется протокол? Все ли пользователи, имеющие доступ к шаре смогут использовать такой протокол или требуется на каждой машине требуется выполнить еще что-то?


Ответ

Протокол прописывается в реестре Windows.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\yourprotocolname] @="URL:Direct Connect Protocol" "URL Protocol"=""
[HKEY_CLASSES_ROOT\yourprotocolname\Shell\Open\Command] @="cmd /c echo %1 & pause"
Обращаю внимание, что в браузере можно создавать ссылки на такой протокол. И таким ссылкам можно настроить автоматическое выполнение без запроса.
Поэтому очень важно отнестись к обработке передаваемых параметров внимательно. Например, определённый выше протокол с именем yourprotocolname представляет собой огромную дыру в безопасности, поскольку можно сделать что-то типа yourprotocolname:text & format d:
PS: Знаю, что в linux'е тоже возможно создавать кастомные протоколы, но не имею ни малейшего представления, как это делать.

Комментариев нет:

Отправить комментарий