如何从WinJS打开.exe文件

时间:2013-12-31 01:46:38

标签: javascript exe winjs

我正在尝试从WinJS打开一个.exe应用程序,但是我收到一个错误,这是我的代码:

    var comando = "C:\\Program%20Files%20(x86)\\Windows%20Media%20Player\\wmplayer.exe";
    var oShell = new ActiveXObject("Shell.Application");
    //var commandtoRun = "C:\\Windows\\notepad.exe";
    oShell.ShellExecute(comando, "", "", "open", "1");

但是我收到了错误......

  

0x800A01AD - JavaScript中的运行时错误:自动化服务器不能   创建对象

任何帮助我都会感激

2 个答案:

答案 0 :(得分:2)

我担心这种方式无法在JavaScript Windows应用商店应用中使用ActiveX控件。 Windows应用商店应用程序与系统隔离,无法从应用程序容器外部运行任意代码。以这种方式插入恶意软件太容易了。

答案 1 :(得分:1)

如果您知道特定的文件类型关联,则可以将其拉出。如果您打包一个文件扩展名与目标应用程序关联的文件,您可以告诉您的WinJS应用程序打开它,它将触发相关的应用程序打开该文件。排除了一些明显的扩展名,如.exe,。msi等。

此代码将尝试在与该扩展名关联的任何应用中打开.txt文件:

var txtFile = "Assets\\myFile.txt";

Windows.ApplicationModel.Package.current.installedLocation.getFileAsync(txtFile).then(
  function (file) {
      Windows.System.Launcher.launchFileAsync(file).then(
        function (success) {
            if (success) {
                // File launched
            } else {
                // File launch failed
            }
        });
  });

这不是一个完美的解决方案,因为您无法定位特定的应用程序,您只能触发用户与该文件类型相关联的任何应用程序,但它可能在某些情况下有用。

相关问题