Compartir a través de


Launcher.LaunchFileAsync Método

Definición

Sobrecargas

LaunchFileAsync(IStorageFile)

Inicia la aplicación predeterminada asociada al archivo especificado.

LaunchFileAsync(IStorageFile, LauncherOptions)

Inicia la aplicación predeterminada asociada al archivo especificado mediante las opciones especificadas.

LaunchFileAsync(IStorageFile)

Inicia la aplicación predeterminada asociada al archivo especificado.

public:
 static IAsyncOperation<bool> ^ LaunchFileAsync(IStorageFile ^ file);
/// [Windows.Foundation.Metadata.Overload("LaunchFileAsync")]
 static IAsyncOperation<bool> LaunchFileAsync(IStorageFile const& file);
[Windows.Foundation.Metadata.Overload("LaunchFileAsync")]
public static IAsyncOperation<bool> LaunchFileAsync(IStorageFile file);
function launchFileAsync(file)
Public Shared Function LaunchFileAsync (file As IStorageFile) As IAsyncOperation(Of Boolean)

Parámetros

file
IStorageFile

Archivo.

Devoluciones

La operación de inicio.

Atributos

Ejemplos

En este ejemplo se usa LaunchFileAsync(IStorageFile) para iniciar un archivo incluido en el paquete de la aplicación.

async void DefaultLaunch()
{
   // Path to the file in the app package to launch
   string imageFile = @"images\test.png";

   var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(imageFile);

   if (file != null)
   {
      // Launch the retrieved file
      var success = await Windows.System.Launcher.LaunchFileAsync(file);

      if (success)
      {
         // File launched
      }
      else
      {
         // File launch failed
      }
   }
   else
   {
      // Could not find file
   }
}
Windows::Foundation::IAsyncAction MainPage::DefaultLaunch()
{
    // Get the app's installation folder.
    Windows::Storage::StorageFolder installFolder{ Windows::ApplicationModel::Package::Current().InstalledLocation() };

    Windows::Storage::StorageFile file{ co_await installFolder.GetFileAsync(L"Assets\\LockScreenLogo.scale-200.png") };

    if (file)
    {
        // Launch the retrieved file.
        bool success{ co_await Windows::System::Launcher::LaunchFileAsync(file) };
        if (success)
        {
            // File launched.
        }
        else
        {
            // File launch failed.
        }
    }
    else
    {
        // Couldn't find file.
    }
}
void MainPage::DefaultLaunch()
{
   auto installFolder = Windows::ApplicationModel::Package::Current->InstalledLocation;

   concurrency::task<Windows::Storage::StorageFile^> getFileOperation(installFolder->GetFileAsync("images\\test.png"));
   getFileOperation.then([](Windows::Storage::StorageFile^ file)
   {
      if (file != nullptr)
      {
         // Launch the retrieved file
         concurrency::task<bool> launchFileOperation(Windows::System::Launcher::LaunchFileAsync(file));
         launchFileOperation.then([](bool success)
         {
            if (success)
            {
               // File launched
            }
            else
            {
               // File launch failed
            }
         });
      }
      else
      {
         // Could not find file
      }
   });
}
async Sub DefaultLaunch()

   ' Path to the file in the app package to launch
   Dim imageFile = "images\test.png"

   Dim file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(imageFile)

   If file IsNot Nothing Then
      ' Launch the retrieved file
      Dim success = await Windows.System.Launcher.LaunchFileAsync(file)

      If success Then
         ' File launched
      Else
         ' File launch failed
      End If
   Else
      ' Could not find file
   End If
End Sub

Comentarios

La aplicación que realiza la llamada debe ser visible para el usuario cuando se invoca la API.

Se debe llamar a esta API desde un subproceso de ASTA (también conocido como subproceso de interfaz de usuario).

Esta API también impone varias restricciones sobre los tipos de archivos que puede iniciar. Muchos tipos de archivo que contienen código ejecutable, por ejemplo, .exe, .msi y archivos .js, están bloqueados para iniciarse. Esta restricción protege a los usuarios de archivos potencialmente malintencionados que podrían modificar el sistema.

Cuando se produce un error en el inicio por cualquiera de los motivos anteriores, la API se realiza correctamente y devuelve FALSE desde su operación asincrónica. Puesto que no tiene capacidad para consultar si las restricciones anteriores se aplican al inicio actual, la aplicación que realiza la llamada no debe suponer que el inicio se realizó correctamente y debe proporcionar un mecanismo de reserva en caso de que se produzca un error. Una posible solución sería pedir al usuario que guarde el archivo y dirija al usuario para abrirlo en el escritorio.

Para permitir que el usuario elija una aplicación en lugar de iniciar la aplicación predeterminada, establezca la propiedad LauncherOptions.DisplayApplicationPicker .

Para mostrar una advertencia de que el archivo es potencialmente no seguro, establezca la propiedad LauncherOptions.TreatAsUntrusted .

El archivo se pasa a la aplicación asociada. Si la aplicación asociada es una aplicación de escritorio, el archivo se pasa mediante mecanismos de ejecución de shell.

Consulte también

Se aplica a

LaunchFileAsync(IStorageFile, LauncherOptions)

Inicia la aplicación predeterminada asociada al archivo especificado mediante las opciones especificadas.

public:
 static IAsyncOperation<bool> ^ LaunchFileAsync(IStorageFile ^ file, LauncherOptions ^ options);
/// [Windows.Foundation.Metadata.Overload("LaunchFileWithOptionsAsync")]
 static IAsyncOperation<bool> LaunchFileAsync(IStorageFile const& file, LauncherOptions const& options);
[Windows.Foundation.Metadata.Overload("LaunchFileWithOptionsAsync")]
public static IAsyncOperation<bool> LaunchFileAsync(IStorageFile file, LauncherOptions options);
function launchFileAsync(file, options)
Public Shared Function LaunchFileAsync (file As IStorageFile, options As LauncherOptions) As IAsyncOperation(Of Boolean)

Parámetros

file
IStorageFile

Archivo.

options
LauncherOptions

Las opciones de inicio de la aplicación.

Devoluciones

La operación de inicio.

Atributos

Ejemplos

Llame al método [Launcher.LaunchFileAsync(IStorageFile, LauncherOptions) con LauncherOptions.DisplayApplicationPicker establecido en true para iniciar la aplicación que el usuario selecciona para el archivo en el cuadro de diálogo Abrir con .

async void DefaultLaunch()
{
   // Path to the file in the app package to launch
   string imageFile = @"images\test.png";

   var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(imageFile);

   if (file != null)
   {
      // Set the option to show the picker
      var options = new Windows.System.LauncherOptions();
      options.DisplayApplicationPicker = true;

      // Launch the retrieved file
      bool success = await Windows.System.Launcher.LaunchFileAsync(file, options);
      if (success)
      {
         // File launched
      }
      else
      {
         // File launch failed
      }
   }
   else
   {
      // Could not find file
   }
}
Windows::Foundation::IAsyncAction MainPage::DefaultLaunch()
{
    // Get the app's installation folder.
    Windows::Storage::StorageFolder installFolder{ Windows::ApplicationModel::Package::Current().InstalledLocation() };

    Windows::Storage::StorageFile file{ co_await installFolder.GetFileAsync(L"Assets\\LockScreenLogo.scale-200.png") };

    if (file)
    {
        // Set the option to show the picker.
        Windows::System::LauncherOptions launcherOptions;
        launcherOptions.DisplayApplicationPicker(true);

        // Launch the retrieved file.
        bool success{ co_await Windows::System::Launcher::LaunchFileAsync(file, launcherOptions) };
        if (success)
        {
            // File launched.
        }
        else
        {
            // File launch failed.
        }
    }
    else
    {
        // Couldn't find file.
    }
}
void MainPage::DefaultLaunch()
{
   auto installFolder = Windows::ApplicationModel::Package::Current->InstalledLocation;

   concurrency::task<Windows::Storage::StorageFile^> getFileOperation(installFolder->GetFileAsync("images\\test.png"));
   getFileOperation.then([](Windows::Storage::StorageFile^ file)
   {
      if (file != nullptr)
      {
         // Set the option to show the picker
         auto launchOptions = ref new Windows::System::LauncherOptions();
         launchOptions->DisplayApplicationPicker = true;

         // Launch the retrieved file
         concurrency::task<bool> launchFileOperation(Windows::System::Launcher::LaunchFileAsync(file, launchOptions));
         launchFileOperation.then([](bool success)
         {
            if (success)
            {
               // File launched
            }
            else
            {
               // File launch failed
            }
         });
      }
      else
      {
         // Could not find file
      }
   });
}
async Sub DefaultLaunch()

   ' Path to the file in the app package to launch
   Dim imageFile = "images\test.png"

   Dim file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(imageFile)

   If file IsNot Nothing Then
      ' Set the option to show the picker
      Dim options = Windows.System.LauncherOptions()
      options.DisplayApplicationPicker = True

      ' Launch the retrieved file
      Dim success = await Windows.System.Launcher.LaunchFileAsync(file, options)

      If success Then
         ' File launched
      Else
         ' File launch failed
      End If
   Else
      ' Could not find file
   End If
End Sub

Comentarios

La aplicación que realiza la llamada debe ser visible para el usuario cuando se invoca la API.

Se debe llamar a esta API desde un subproceso de ASTA (también conocido como subproceso de interfaz de usuario).

Esta API también impone varias restricciones sobre los tipos de archivos que puede iniciar. Muchos tipos de archivo que contienen código ejecutable, por ejemplo, .exe, .msi y archivos .js, están bloqueados para iniciarse. Esta restricción protege a los usuarios de archivos potencialmente malintencionados que podrían modificar el sistema.

Cuando se produce un error en el inicio por cualquiera de los motivos anteriores, la API se realiza correctamente y devuelve FALSE desde su operación asincrónica. Puesto que no tiene capacidad para consultar si las restricciones anteriores se aplican al inicio actual, la aplicación que realiza la llamada no debe suponer que el inicio se realizó correctamente y debe proporcionar un mecanismo de reserva en caso de que se produzca un error. Una posible solución sería pedir al usuario que guarde el archivo y dirija al usuario para abrirlo en el escritorio.

Para permitir que el usuario elija una aplicación en lugar de iniciar la aplicación predeterminada, establezca la propiedad LauncherOptions.DisplayApplicationPicker .

Para mostrar una advertencia de que el archivo es potencialmente no seguro, establezca la propiedad LauncherOptions.TreatAsUntrusted .

El archivo se pasa a la aplicación asociada. Si la aplicación asociada es una aplicación de escritorio, el archivo se pasa mediante mecanismos de ejecución de shell.

Consulte también

Se aplica a