Как запустить приложение из браузера? - PullRequest
54 голосов
/ 17 июня 2010

Можно ли запустить приложение из браузера? Я говорю не об открытии файла из браузера (например, об открытии PDF в Adobe Reader), а об открытии нового (пустого) экземпляра приложения, установленного на компьютере пользователя.

Гипотетическая ситуация: пользователь просматривает веб-сайт со списком компьютеров, которыми можно управлять с помощью RDP. Он нажимает на ссылку на 192.168.1.10, эта ссылка открывает клиент Microsoft RDP (mstsc.exe) с уже заполненным IP-адресом.

Я говорю строго о вселенной Windows.

Это возможно даже за пределами ActiveX и IE?

Разумно ли попытаться сделать это в IE с ActiveX?

Ответы [ 7 ]

54 голосов
/ 17 июня 2010
9 голосов
/ 17 июня 2010

Вы не можете «запустить приложение» в истинном смысле этого слова.Как вы указали, вы можете попросить пользователя открыть документ (например, PDF), и Windows попытается использовать приложение по умолчанию для этого типа файла.У многих приложений есть способ сделать это.

Например, вы можете сохранить RDP-соединения как файл .rdp.Размещение ссылки на вашем сайте на что-то подобное должно позволить пользователю запускать прямо в сеанс RDP:

<a href="MyServer1.rdp">Server 1</a>
1 голос
/ 02 декабря 2015

Вы можете использовать SilverLight для запуска приложения из браузера (это будет работать только в IE и Firefox, более новые версии Chrome не поддерживают это)

Пример кода здесь

1 голос
/ 17 июня 2010

Некоторые приложения запускаются по протоколам. как itunes со ссылками "itms: //". Однако я не знаю, как вы можете зарегистрировать это в Windows.

1 голос
/ 17 июня 2010

Мы используем sonicwall vpn. Он запускает Java-апплет, который запускает mstc со всеми настройками учетных данных. Вы действительно не можете сделать это без Java-апплета или плагина ActiveX.

Microsoft использует эту технику на своем сервере малого бизнеса для проникновения в сеть. Я бы не сказал, что это ужасная идея, пока независимость от платформы не важна.

0 голосов
/ 02 апреля 2014

Вы можете использовать следующее:

<a href="c:\windows\Notepad.exe" 
type="application/octet-stream">Launch Notepad</a>

Из того, что я помню, используя файл: // заблокирован Chrome и Firefox.

0 голосов
/ 17 июня 2010

Я добился того же, используя локальный веб-сервер и PHP. Я использовал скрипт, содержащий shell_exec для локального запуска приложения.

В качестве альтернативы, вы можете сделать что-то вроде этого:

<a href="file://C:/Windows/notepad.exe">Notepad</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...