2010-03-22 5 views

Répondre

9

Puisque vous avez explicitement demandé un fichier .exe, vous pouvez utiliser nsILocalFile.launch(): https://developer.mozilla.org/en/Code_snippets/Running_applications

var file = Components.classes["@mozilla.org/file/local;1"] 
        .createInstance(Components.interfaces.nsILocalFile); 
file.initWithPath("c:\\myapp.exe"); 
file.launch(); 

Si vous vouliez faire multiplateformes vous devriez regarder dans nsIProcess

+0

Vous ne devez pas simplement coller un lien, mais résumer le contenu. Si le lien est brisé dans le futur, toute votre réponse n'a plus aucune valeur. – McK

+0

@McK vous avez absolument raison. – pawel

+0

'Components.classes' n'est pas accessible via JavaScript en cours d'exécution dans une page Web, il est uniquement accessible via JavaScript dans une extension Firefox – NPE

0

Salut à tous ceux qui essaient d'invoquer un exe en utilisant javascript dans mozilla firefox. Suivez les étapes .. Je suis capable de lancer exe depuis mon site web. Étape 1 Tapez "about: config" dans la barre d'adresse et faites "signed.applets.codebase-principal-support" true. Étape 2. Utilisez ce code.

<html> 
<head> 
</head> 
<body> 
<p/><input type="button" width="15" value="Run Exe" onclick="RunExe();"/></input></p> 

<script type="text/javascript"> 
function RunExe() 
{ 
alert("In fun RunExe().."); 
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
alert("Done"); 

var exe = window.Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile); 
exe.initWithPath("c:\\WINDOWS\\notepad.exe"); 
alert("exe"); 
var run = window.Components.classes['@mozilla.org/process/util;1'].createInstance(Components.interfaces.nsIProcess); 
run.init(exe); 
var parameters = [""]; 
run.run(false, parameters,parameters.length); 
alert("in function RunBat"); 

} 
</script> 
</body> 
</html> 
+0

Ne serait-ce pas que toute page Web invoquer des exécutables arbitraires? – daveloyall

Questions connexes