2010-06-30 4 views
13

J'essaie de lancer un fichier .exe à partir de Javascript. Voilà ce que j'ai:Exécution .exe à partir de Javascript

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

Si je ne le premier code 2 lignes, il semble fonctionner très bien (il m'a demandé ce que je veux activeX quand je l'ai ouvert première fois dans IE), mais si j'ajoute la dernière ligne (ShellExecute) il semble être une erreur. Je veux passer des arguments à l'exe.

Est-ce que quelqu'un sait comment le faire?

+1

Un peu de recherche a trouvé cette - http://www.dotnetspider.com/resources/19547-Run-exe-file-Java -Script.aspx – JasCav

+1

Faites-vous un virus ou quoi? :) –

Répondre

14

Vous devez les backslashs, par exemple,

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

Mise à jour:

Cela fonctionne bien sur ma machine:

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

Mise à jour 2

Vous pouvez sa ve cela comme un fichier avec l'extension .hta et il devrait fonctionner dans votre navigateur:

<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

Aussi: @ Le lien de Jason suggère d'utiliser% 20 pour échapper les espaces et d'utiliser le format: file: /// C: /Program%20Files/...etc - peut-être que c'est une variation sur cela? –

+0

@Red Filtre: -J'ai déjà essayé cela avant de poster ... n'aide pas si – Manish

+0

Voir mon top. – RedFilter