Czy można uruchomić plik bat/plik wykonywalny za pomocą zdarzenia przycisku html5? W IE jest to możliwe do osiągnięcia przy użyciu obiektu Shell, jeśli się nie mylę.Czy można uruchomić plik .exe lub .bat na "onclick" w HTML
Odpowiedz
Oto co zrobiłem. Chciałem skonfigurować stronę HTML w naszej sieci, więc nie musiałbym przechodzić do różnych folderów, aby zainstalować lub zaktualizować nasze aplikacje. Więc co zrobiłem było setup plik bat na nasze „wspólne” drive, że każdy ma dostęp, w tym pliku .bat miałem ten kod:
start /d "\\server\Software\" setup.exe
Kod HTML brzmiała:
<input type="button" value="Launch Installer" onclick="window.open('file:///S:Test/Test.bat')" />
(upewnij się, że twoje ukośniki są poprawne, miałem je w drugą stronę i to nie działało)
Wolałem uruchamiać EXE bezpośrednio, ale nie było to możliwe, ale plik .bat pozwolił mi to obejść. Szkoda, że działało w FF lub Chrome, ale tylko IE.
Drogi @Chuff, co jeśli plik nietoperza ma polecenie rejestracji, mam na myśli coś takiego "REG ADD" HKCU \ Software \ ... "' –
Nie, to byłoby poważne naruszenie bezpieczeństwa . Wyobraź sobie, że ktoś może uruchamiać się za każdym razem, gdy odwiedziłeś ich stronę internetową.
to prawda, ale jednocześnie śmieję się ...: D – aswzen
Jest to możliwe, gdy strona jest otwierana za pośrednictwem ścieżki file:///
.
<button onclick="window.open('file:///C:/Windows/notepad.exe')">
Launch notepad
</button>
Jednak moment można umieścić go na serwerze internetowym (nawet jeśli masz do niego dostęp za pośrednictwem http://localhost/
), otrzymasz błąd:
Error: Access to 'file:///C:/Windows/notepad.exe' from script denied
+1 Właśnie potwierdziłem, że działa to na IE11, ale nie działa w Firefoksie 27 na Win8.1. – IsaacS
@IsaacS Nie mam dostępu do systemu Windows 8, więc niestety nie mogę z tym nic poradzić. Właśnie próbowałem tego ponownie z Firefoksem 28 na Windows 7 i działa, więc dodatkowe zabezpieczenia są prawdopodobnie ograniczone do systemu Windows 8. – Stijn
Pozwala to na "pobieranie" notepad.exe, a nie jego uruchamianie. Firefox 31, Windows 7 – nodiscc
nie można uruchomić/Wykonanie pliku .exe który znajduje się na lokalnym komputerze użytkownika lub w witrynie. Użytkownik musi najpierw pobrać plik exe, a następnie uruchomić plik wykonywalny.
Tak więc nie ma możliwości, aby
Poniższy kod działa tylko wtedy, gdy EXE znajduje się na Maszynie Użytkownika.
<a href = "C:\folder_name\program.exe">
Drodzy @coolprarun jeśli mam plik bat w komputerze użytkownika, Jak mogę uruchomić plik bat w chrome przy użyciu javascript lub czegoś innego? Mogłem to zrobić w przeglądarce IE za pośrednictwem ActiveXOject, jednak ten obiekt nie dotyczy chrome. –
Można zrobić to na Internet Explorer z komponentu OCX i na przeglądarce Chrome przy użyciu rozszerzenia chrom chrome document w każdym przypadku konieczne są dodatkowe ustawienia w systemie klienta!
Ważnym elementem chromowanym źródła rozszerzeń: Plik
var port = chrome.runtime.connectNative("your.app.id");
port.onMessage.addListener(onNativeMessage);
port.onDisconnect.addListener(onDisconnected);
port.postMessage("send some data to STDIO");
pozwolenie:
{
"name": "your.app.id",
"description": "Name of your extension",
"path": "myapp.exe",
"type": "stdio",
"allowed_origins": [
"chrome-extension://IDOFYOUREXTENSION_lokldaeplkmh/"
]
}
i okna ustawień rejestru:
HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHosts\your.app.id
REG_EXPAND_SZ : c:\permissionsettings.json
Zobacz ten link [Jak wykonać lokalny plik przy użyciu Aplikacja HTML?] (Http://www.codeproject.com/Articles/113678/How-to-execute-a-Local-File-using-HTML-Application) – coolprarun
@coolprarun Potwierdziłem również, że podany przez ciebie link działa w moim środowisku ('Win8.1',' IE11'. Nie na "FF27"). Powinieneś opublikować to jako odpowiedź. – IsaacS