Запуск программы с локальной веб-страницы

Я пытаюсь использовать веб-страницу в качестве точки входа для киоска. Html будет запущен в локальном режиме, мне нужно две вещи:

<a href="c:UsersAdminDocuments">...

который работает как шарм

и..

<a href="c:Program FilesWindows LiveMailwlmail.exe">...

(программа просто пример, все программы такие же)

который работает, но.. он предлагает загрузить файл, Затем вам будет предложено запустить его.. Есть ли способ сделать это напрямую, например, щелкнуть и bam, который вы открыли Блокнот.exe? Возможно, используя java апплет?

спасибо

спасибо

EDIT:

Я знаю, что это нельзя сделать удаленно, я говорю о локальных файлов. Файл будет доступен как c:myhtml - ... формат html И откроет только уже установленные файлы, ничего из интернета.

5 ответов


Если я правильно понял ваш вопрос, ближе всего к тому, чтобы получить то, что вы хотите, будет использовать *.hta-это HTML-приложение, которое работает вне окна браузера, как и обычное приложение.

<script type="text/javascript" language="javascript">
    function RunFile() {
    WshShell = new ActiveXObject("WScript.Shell");
    WshShell.Run("c:/windows/system32/notepad.exe", 1, false);
    }
</script>

больше информации здесь: http://www.kunal-chowdhury.com/2010/09/how-to-execute-local-file-using-html.html


правильный способ реализовать это-создать пользовательский протокол в Windows. Подробности в статье "регистрация приложения в схеме URI"


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

существует несколько технологий, таких как java WebStart и ASP ClickOnce - они будут устанавливать приложение более или менее автоматически, подписание приложения тоже помогает - сообщения, которые пользователь получает, выглядят менее страшно.


поправьте меня, если я вас не понял. Если вы запускаете веб-страницу локально (http:\127.0.0.1) и хотите выполнить программу на том же компьютере, это будет зависеть от технологии, которую вы используете, например, в php вы можете использовать exec() для выполнения программы на вводе пользователя, но она будет работать на стороне сервера.


Это, конечно, проблема безопасности. Но это не проблема, причина, по которой он хочет это сделать, явно другая проблема.

остается вопрос: Как выполнить внешнюю программу со стороны клиента / сервера ?

Я нашел несколько подсказок:

  • ActiveX: специфично для IE, поэтому не очень приятно,
  • серверные JavaScript-фреймворки, такие как Node.js: на стороне сервера ? Я даже не знаю этого фреймворка...^^',
  • crossbrowser аддоны, которые могут расширенные возможности, не мой домен здесь тоже,
  • в Media player classic вы можете заставить его слушать порт, а затем использовать это для вызова программы с помощью определенных URL-адресов команд, довольно приятных, но специфичных для программного обеспечения.

Я нашел тонны других классных учебников, но работа довольно тяжелая : каждый раз, когда я должен открыть и изучить другую технологию.