How to run a local exe in my firefox extension?

后端 未结 2 669
青春惊慌失措
青春惊慌失措 2020-12-16 07:18

I want to run a local exe in my firefox extension javascript file, but ActiveXObject(\"WScript.Shell\") is work fine in IE,not in FF,how to run a local exe in js in firefox.

相关标签:
2条回答
  • 2020-12-16 07:30

    Since you've explicitly asked for an .exe then you can use 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();
    

    If you wanted to make it cross-platform you should look into nsIProcess

    0 讨论(0)
  • 2020-12-16 07:35

    Hi all those who are trying to invoke an exe using javascript in mozilla firefox. Follow the steps.. I am able to run exe from my website.

    Step 1. Type "about:config" in address bar and make "signed.applets.codebase-principal-support" true. Step 2. Use this 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 讨论(0)
提交回复
热议问题