信息
您所需的主题如下所示。但此主题未包含在此库中。

Launcher.LaunchFileAsync(IStorageFile, LauncherOptions) | launchFileAsync(IStorageFile, LauncherOptions) Method

使用指定选项,启动与指定的文件相关联的默认应用程序。

语法


Windows.System.Launcher.launchFileAsync(file, options).done( /* 你的成功和错误处理程序 */ );

参数

file

类型: IStorageFile

文件。

options

类型: LauncherOptions

应用程序的生成选项。

返回值

类型: IAsyncOperation<Boolean>

生成操作。

备注

当调用 API 时,调用应用程序必须对用户可见。

此 API 也对它可生成的文件类型有若干限制。很多包含可执行代码的文件类型,例如 .exe、.msi 和 .js 文件,在启动时都被阻止。恶意文件会修改系统,此限制可保护用户免受可能存在的恶意文件的危害。

当对上述任何原因生成失败时,API 成功并从其异步操作的 FALSE 返回。因为其无法查询上述限制是否应用于当前生成,调用应用程序不应假定已成功生成,而应提供失败时的回退机制。可能的解决方案将是要求用户保存文件并指导用户在桌面打开它。

若要使用户选择应用程序而不是生成默认应用程序,请设置 LauncherOptions.DisplayApplicationPicker | displayApplicationPicker 属性。

若要显示文件可能不安全的警告,请设置 LauncherOptions.TreatAsUntrusted | treatAsUntrusted 属性。

文件被传递给关联的应用程序。如果关联的应用程序为桌面应用程序,则使用外壳执行机制传递文件。

Windows Phone 8

此 API 不实现,但是调用时会引发异常。请参见 Windows Phone 运行时 API

示例

调用 Launcher.LaunchFileAsync(IStorageFile, LauncherOptions) | launchFileAsync(IStorageFile, LauncherOptions) 方法,同时将 LauncherOptions.DisplayApplicationPicker | displayApplicationPicker 设置为 true,以便启动用户从“打开方式”对话框中为该文件选择的应用程序。



// Path to the file in the app package to launch
var imageFile = "images\\test.png";

// Get the image file from the package's image directory
Windows.ApplicationModel.Package.current.installedLocation.getFileAsync(imageFile).then(
  function (file) {
    // Set the show picker option
    var options = new Windows.System.LauncherOptions();
    options.displayApplicationPicker = true;

    // Launch the retrieved file using the selected app
    Windows.System.Launcher.launchFileAsync(file, options).then(
      function (success) {
        if (success) {
            // File launched
        } else {
            // File launch failed
        }
      });
  });

要求

最低支持客户端

Windows 8

最低支持服务器

Windows Server 2012

最低支持电话

Windows Phone 8 [未实现,请参见备注]

命名空间

Windows.System
Windows::System [C++]

元数据

Windows.winmd

另请参见

示例
关联启动示例
准则
文件类型和 URI 的准则和检查表
任务
如何启动文件的默认应用程序 (JavaScript)
如何启动文件的默认应用程序 (C#/VB/C++)
引用
Launcher
LaunchFileAsync(IStorageFile, LauncherOptions)

 

 

显示: