2010-06-16 5 views
41

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

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

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

Возможно ли это, даже вне ActiveX и IE?

Можно ли попытаться сделать это в IE с помощью ActiveX?

+0

HTTP: // Roblox .com - игровой сайт, в котором каждый пользователь должен установить своего клиента и посетить его веб-сайт, чтобы запустить игрового клиента. Поэтому они настроены там, где они запускают приложение непосредственно со своего сайта. Я просмотрел их источник, и они не делают этого так, как говорит Брендан ... – georgiaboy82

+0

@ georgiaboy82, проверяя, установлено ли приложение или нет - это работа сторонних разработчиков или сторонних разработчиков? – SaiUnique

ответ

5

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

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

<a href="MyServer1.rdp">Server 1</a> 
+0

Я просто изучаю, что такое ActiveX, и я краснею, что его можно использовать для запуска приложений внутри браузера. Так не должно ли это быть возможным? Я пробовал следовать этим указаниям, чтобы запустить Notepad из браузера, хотя это не сработало. http://www.codeproject.com/Articles/113678/How-to-execute-a-Local-File-using-HTML-Application – Celeritas

1

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

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

0

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

+0

Я знаю, что эта ветка старая, у меня та же проблема. Существует много информации о том, как установить обработчик протоколов, но я не могу это делать на компьютере каждого пользователя (ИТ буквально убьет меня ...) – nurchi

+0

вы не должны делать это вручную на машине каждого пользователя , Это то, что ваше приложение должно делать во время процесса установки. – Mikhail

1

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

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

<a href="file://C:/Windows/notepad.exe">Notepad</a> 
+18

Обратите внимание, что 'shell_exec' запускает приложения на веб-сервере. Что касается ссылки, это обычно приводит к загрузке файла. –

-4

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

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

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

+3

Это будет (бесполезно) скачать (скопировать) файл notepad.exe, а не запустить его. –

1

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

Пример кода here