Запуск файла .exe из браузера (любым способом) - PullRequest
4 голосов
/ 26 февраля 2011

У меня есть страница, которая позволяет мне управлять некоторыми устройствами в локальной сети.Тем не менее, некоторые из расширенных настроек могут быть установлены только с помощью файла .exe, который находится на компьютере, на котором я запускаю страницу конфигурации.Я хотел бы, чтобы все инструменты конфигурации были «в одном месте», поэтому было бы неплохо иметь вид анимации по ссылке / блоку / кнопке / флэш-памяти / что-нибудь, что - после нажатия пользователем - запускает указанный файл .exe,Я думаю, что это как-то возможно, потому что я видел MMO-игры, которые запускаются с помощью веб-страницы.Я также подозреваю, что html / javascript не позволит мне сделать что-то подобное, так что, возможно, ответ - Flash?Надеюсь, у вас будут какие-то идеи.

Заранее спасибо за любые подсказки, Майкл.

Ответы [ 6 ]

2 голосов
/ 26 февраля 2011

Есть способы сделать это, но это угроза безопасности, поэтому вы не можете сделать это без специального разрешения пользователя.Если в IE вы можете сделать это с ActiveX, если в другом браузере это сложнее - вам, возможно, придется установить специальное дополнение или DLL.

Один простой вариант - зарегистрировать вашу программу в качестве обработчика дляопределенный тип URI.Если вы когда-либо видели ссылки itunes:// в Интернете, если на вашем компьютере установлена ​​программа itunes, она будет запускать itunes напрямую.Например, вот объяснение как itunes делает это .На самом деле это объяснение того, как это остановить, но вы можете использовать это, чтобы настроить свою собственную систему на то же самое.

Еще одно место, где это делается, находится на странице загрузки Google Chrome.Если вы когда-либо устанавливали какой-либо продукт Google на свой (Windows) компьютер, Google также устанавливает DLL, которая позволяет ему выполнять любой подписанный продукт Google, просто нажав на ссылку.Перейдите на страницу загрузки Google Chrome, и вы можете повернуть javascript, чтобы увидеть, как они это делают (в конечном счете, есть изначально скомпилированный dll, хотя это позволяет им это делать), но установка этого дополнительного программного обеспечения делает его довольно плавным, хотя и немного тревожным.

Итак, как вы можете видеть, существует множество методов.

2 голосов
/ 26 февраля 2011

Ссылка с File URI может помочь.Вы пробовали это?

1 голос
/ 26 февраля 2011

Запуск локальных файлов потребует встраивания объекта в страницу, которая имеет доступ к локальной машине. Это достижимо путем создания элемента управления ActiveX или Java-апплета. Это обычно не одобряется для общедоступных веб-сайтов и т. Д., Но прекрасно подходит для локальной сети или контролируемой среды.

1 голос
/ 26 февраля 2011

У вас есть возможность установить программное обеспечение на компьютер, на котором вы хотите запустить исполняемый файл?

Если это так, вы можете создать приложение Adobe AIR, которое запускает ваш файл. Попросите пользователя установить приложение AIR на свой компьютер. Затем создайте небольшой флеш-виджет для размещения на вашей веб-странице. Запустите флэш-виджет для запуска приложения AIR.

Некоторая информация об API: http://www.rogue -development.com / blog2 / 2008/03 / взаимодействующий-с-с-воздух-приложение-с-а-браузерная-приложение /

0 голосов
/ 26 февраля 2011

Я делаю это путем ссылки на файл .bat, который запускает сам .exe.

0 голосов
/ 26 февраля 2011

Невозможно запустить exe на клиенте, иначе это дыра в безопасности.
Однако вы можете запустить exe на windows server через CGI.

...