创建.txt文件,然后从Chrome或FireFox启动.exe文件

时间:2017-02-27 16:00:25

标签: javascript google-chrome firefox

由于安全问题,Chrome / Firefox不使用Activex对象,甚至不允许使用本地配置文件(例如 AppData \ Roaming )进行访问。但是在我的一个客户端请求中,我需要创建一个 .txt 文件,然后从上述目录中启动 .exe 。 2014年之前的Chrome支持NPAPI实际上与客户端相关,但在2014年他们也停止支持NPAPI,它也标记为Chrome上的Phased。因此,我需要创建文本文件所需的最新技术,然后从漫游文件夹启动exe文件。

是否有任何选项或客户端API执行此操作?

更新

我已经在ActiveXObject(旧方法)中关注片段,现在我想将其翻译成最新技术,以便非IE浏览器也可以使用它。

function createLoginFile(){
    var isIE = /*@cc_on!@*/false || !!document.documentMode;

    if(isIE == true)
    {   var wsShell = new ActiveXObject("wscript.shell");
        var roamingAppData = wsShell.ExpandEnvironmentStrings("%appdata%");

        var fileObj = new ActiveXObject("Scripting.FileSystemObject");
        var folderObj = new ActiveXObject("Scripting.FileSystemObject");

        var folderLoc = roamingAppData+"\\Navigator";
        var fileLoc = folderLoc + "\\NavigatorLogin.txt";
        if(fileObj.FileExists(fileLoc)){
        //empty file
        var emptyFile = fileObj.OpenTextFile(fileLoc, 2, false);
        emptyFile.close();
        //write to file
        var openFile = fileObj.OpenTextFile(fileLoc, 2, false);
        openFile.WriteLine("Hello World!"); 
        openFile.close();   
        loadExe(folderLoc)
    }
    else{
            var newfile = fileObj.CreateTextFile(fileLoc,false);
            //write to file
            newfile.WriteLine("Hello World");
            openFile.close();   
            loadExe(folderLoc)
    }       

    }
}

function loadExe(folderLoc){
        var oShell = new ActiveXObject("Shell.Application");
        var filePath = folderLoc+"\\Navigator.exe";
        oShell.ShellExecute(filePath,"","","open","1");
        }

1 个答案:

答案 0 :(得分:0)

构建自定义链接,例如

腾讯://消息/ *****&安培; websiteName = qzone.qq.com&安培;菜单=是

点击链接后,将启动QQ客户端