2010-06-30 14 views
13

Próbuję uruchomić plik .exe z Javascript. Oto, co mam:Uruchamianie .exe z JavaScript

var o Shell = new ActiveXObject ("Shell.Application");
var commandtoRun = "C: \ Documents and Ustawienia \ User \ Desktop \ ABCD.exe"; oShell.ShellExecute (commandtoRun, "", "", "open", "1");

Jeśli mam tylko pierwszy kod 2 linie wydaje się działać dobrze (to zapytał mnie czy chcę ActiveX kiedy otworzył je po raz pierwszy w IE), ale jeśli dodać do ostatniej linii (ShellExecute) wydaje się być błędem. Chcę przekazać argumenty exe.

Czy ktoś wie, jak to zrobić?

+1

Trochę wyszukiwanie oceniły tę - http://www.dotnetspider.com/resources/19547-Run-exe-file-Java -Script.aspx – JasCav

+1

Czy robisz wirusa lub co? :) –

Odpowiedz

14

Musisz uciec backslashy np

var commandtoRun = "C:\\Documents and Settings\\User\Desktop\\ABCD.exe"; 

Aktualizacja:

Działa to dobrze na moim komputerze:

var oShell = new ActiveXObject("Shell.Application"); 
var commandtoRun = "C:\\Windows\\notepad.exe"; 
oShell.ShellExecute(commandtoRun,"","","open","1"); 

Update 2

Możesz być ve to jako plik z rozszerzeniem .hta i powinien działać w przeglądarce:

<HTA:APPLICATION ID="oMyApp" 
APPLICATIONNAME="Application Executer" 
BORDER="no" 
CAPTION="no" 
SHOWINTASKBAR="yes" 
SINGLEINSTANCE="yes" 
SYSMENU="yes" 
SCROLL="no" 
WINDOWSTATE="normal"> 

<script type="text/javascript" language="javascript"> 
var oShell = new ActiveXObject("Shell.Application"); 
var commandtoRun = "C:\\Windows\\notepad.exe"; 
oShell.ShellExecute(commandtoRun,"","","open","1"); 
</script> 
+0

Ponadto: @ Jason's link sugeruje użycie% 20 do ucieczki spacji i użycie formatu: file: /// C: /Program%20Files/...etc - być może jest to wariacja na ten temat? –

+0

@Red Filter: -Próbowałem już tego przed opublikowaniem ... nie pomoże jednak – Manish

+0

Zobacz moje uppdate. – RedFilter