Можно ли запустить bat/исполняемый файл с помощью события кнопки html5? В IE его достижимо с использованием объекта Shell, если я не ошибаюсь.
Возможно ли запустить файл .exe или .bat в 'onclick' в HTML
Ответ 1
Вот что я сделал. Мне нужна настройка HTML-страницы в нашей сети, поэтому мне не нужно было бы переходить к различным папкам для установки или обновления наших приложений. Итак, что я сделал, был setup.bat файл на нашем "общем" диске, к которому у каждого есть доступ, в этом .bat файле у меня был этот код:
start /d "\\server\Software\" setup.exe
Код HTML:
<input type="button" value="Launch Installer" onclick="window.open('file:///S:Test/Test.bat')" />
(убедитесь, что ваши косые черты верны, у меня было другое, и это не сработало)
Я предпочел запустить EXE напрямую, но это было невозможно, но файл .bat разрешил мне это. Пожелайте, чтобы он работал в FF или Chrome, но только IE.
Ответ 2
Нет, это будет серьезное нарушение безопасности. Представьте, может ли кто-нибудь запустить
format c:
всякий раз, когда вы открыли свой веб-сайт.
Ответ 3
Это возможно, когда сама страница открывается через путь file:///
.
<button onclick="window.open('file:///C:/Windows/notepad.exe')">
Launch notepad
</button>
Однако, как только вы разместите его на веб-сервере (даже если вы его получите через http://localhost/
), вы получите сообщение об ошибке:
Ошибка: доступ к файлу:///C:/Windows/notepad.exe из script denied
Ответ 4
Вы можете сделать это в Internet Explorer с компонентом OCX и на браузере Chrome, используя расширение chrome хромовый документ в любом случае необходимы дополнительные настройки в клиентской системе!
Важная часть источника расширения хрома:
var port = chrome.runtime.connectNative("your.app.id");
port.onMessage.addListener(onNativeMessage);
port.onDisconnect.addListener(onDisconnected);
port.postMessage("send some data to STDIO");
файл разрешений:
{
"name": "your.app.id",
"description": "Name of your extension",
"path": "myapp.exe",
"type": "stdio",
"allowed_origins": [
"chrome-extension://IDOFYOUREXTENSION_lokldaeplkmh/"
]
}
и настройки реестра Windows:
HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHosts\your.app.id
REG_EXPAND_SZ : c:\permissionsettings.json
Ответ 5
Вы не можете запускать/выполнять файл .exe, который находится на локальной машине пользователя или через сайт. Пользователь должен сначала загрузить exe файл, а затем запустить исполняемый файл.
Так что нет возможного способа
Следующий код работает только тогда, когда EXE присутствует в пользовательской машине.
<a href = "C:\folder_name\program.exe">