Как запустить приложение из браузера?
Можно ли запустить приложение из браузера? Я не говорю о том, чтобы открыть файл из браузера (например, открыть PDF с помощью Adobe Reader), а скорее открыть новый (пустой) экземпляр приложения, установленного на пользовательской машине.
Гипотетическая ситуация: пользователь просматривает веб-сайт, на котором перечислены компьютеры, которыми можно управлять через RDP. Он нажимает ссылку на 192.168.1.10, эта ссылка открывает клиент Microsoft RDP (mstsc.exe) с уже заполненным адресом ip.
Я говорю о юниверсе Windows.
Является ли эта вещь даже выполнимой вне ActiveX и IE?
Можно ли попытаться сделать это в IE с помощью ActiveX?
Ответы
Ответ 1
Вы не можете "запустить приложение" в истинном смысле. Вы можете, как вы указали, попросить пользователя открыть документ (например, PDF), и окна попытаются использовать приложение по умолчанию для этого типа файла. У многих приложений есть способ сделать это.
Например, вы можете сохранять RDP-соединения в виде файла .rdp. Включение ссылки на ваш сайт в нечто подобное должно позволить пользователю запускаться прямо в сеанс RDP:
<a href="MyServer1.rdp">Server 1</a>
Ответ 2
Вы хотите создать Asynchronous Pluggable Protocol Handler.
Вот руководство по регистрации протокола приложения.
Ответ 3
Мы используем sonicwall vpn. Он запускает java-апплет, который запускает mstc со всеми настройками учетных данных. Вы действительно не можете сделать это без java-апплета или плагина activex.
Microsoft использует эту технику самостоятельно на своем сервере малого бизнеса для доступа в сеть. Я бы не сказал, что это ужасная идея, поскольку независимость платформы не важна.
Ответ 4
Я сделал то же самое, используя локальный веб-сервер и PHP. Я использовал script, содержащий shell_exec
для запуска приложения локально.
В качестве альтернативы вы можете сделать что-то вроде этого:
<a href="file://C:/Windows/notepad.exe">Notepad</a>
Ответ 5
Вы можете использовать SilverLight для запуска приложения из браузера (это будет работать только в IE и Firefox, новые версии хром не поддерживают это)
Пример кода здесь
Ответ 6
Некоторые приложения запускаются по протоколам. как itunes с ссылками "itms://". Однако я не знаю, как вы можете зарегистрировать это с помощью окон.
Ответ 7
Вы можете использовать следующее:
<a href="c:\windows\Notepad.exe"
type="application/octet-stream">Launch Notepad</a>
Из того, что я помню, используя файл://заблокирован Chrome и Firefox.