Partager via


Launcher.LaunchFileAsync Méthode

Définition

Surcharges

LaunchFileAsync(IStorageFile)

Démarre l’application par défaut associée au fichier spécifié.

LaunchFileAsync(IStorageFile, LauncherOptions)

Démarre l’application par défaut associée au fichier spécifié, à l’aide des options spécifiées.

LaunchFileAsync(IStorageFile)

Démarre l’application par défaut associée au fichier spécifié.

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)

Paramètres

file
IStorageFile

Fichier.

Retours

Opération de lancement.

Attributs

Exemples

Cet exemple utilise LaunchFileAsync(IStorageFile) pour lancer un fichier contenu dans le package d’application.

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

Remarques

L’application appelante doit être visible par l’utilisateur lorsque l’API est appelée.

Cette API doit être appelée à partir d’un thread ASTA (également appelé thread d’interface utilisateur).

Cette API impose également plusieurs restrictions sur les types de fichiers qu’elle peut lancer. De nombreux types de fichiers qui contiennent du code exécutable, par exemple des fichiers .exe, .msi et .js, ne sont pas lancés. Cette restriction protège les utilisateurs contre les fichiers potentiellement malveillants susceptibles de modifier le système.

Lorsque le lancement échoue pour l’une des raisons ci-dessus, l’API réussit et retourne FALSE à partir de son opération asynchrone. Étant donné qu’elle n’a pas la possibilité de demander si les restrictions ci-dessus s’appliquent au lancement en cours, l’application appelante ne doit pas supposer que le lancement a réussi et doit fournir un mécanisme de secours en cas d’échec. Une solution possible consiste à demander à l’utilisateur d’enregistrer le fichier et de l’inviter à l’ouvrir sur le bureau.

Pour permettre à l’utilisateur de choisir une application au lieu de lancer l’application par défaut, définissez la propriété LauncherOptions.DisplayApplicationPicker .

Pour afficher un avertissement indiquant que le fichier est potentiellement dangereux, définissez la propriété LauncherOptions.TreatAsUntrusted .

Le fichier est passé à l’application associée. Si l’application associée est une application de bureau, le fichier est transmis à l’aide des mécanismes d’exécution de l’interpréteur de commandes.

Voir aussi

S’applique à

LaunchFileAsync(IStorageFile, LauncherOptions)

Démarre l’application par défaut associée au fichier spécifié, à l’aide des options spécifiées.

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)

Paramètres

file
IStorageFile

Fichier.

options
LauncherOptions

Options de lancement de l’application.

Retours

Opération de lancement.

Attributs

Exemples

Appelez la méthode [Launcher.LaunchFileAsync(IStorageFile, LauncherOptions) avec LauncherOptions.DisplayApplicationPicker défini sur true pour lancer l’application que l’utilisateur sélectionne pour le fichier à partir de la boîte de dialogue Ouvrir avec .

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

Remarques

L’application appelante doit être visible par l’utilisateur lorsque l’API est appelée.

Cette API doit être appelée à partir d’un thread ASTA (également appelé thread d’interface utilisateur).

Cette API impose également plusieurs restrictions sur les types de fichiers qu’elle peut lancer. De nombreux types de fichiers qui contiennent du code exécutable, par exemple des fichiers .exe, .msi et .js, ne sont pas lancés. Cette restriction protège les utilisateurs contre les fichiers potentiellement malveillants susceptibles de modifier le système.

Lorsque le lancement échoue pour l’une des raisons ci-dessus, l’API réussit et retourne FALSE à partir de son opération asynchrone. Étant donné qu’elle n’a pas la possibilité de demander si les restrictions ci-dessus s’appliquent au lancement en cours, l’application appelante ne doit pas supposer que le lancement a réussi et doit fournir un mécanisme de secours en cas d’échec. Une solution possible consiste à demander à l’utilisateur d’enregistrer le fichier et de l’inviter à l’ouvrir sur le bureau.

Pour permettre à l’utilisateur de choisir une application au lieu de lancer l’application par défaut, définissez la propriété LauncherOptions.DisplayApplicationPicker .

Pour afficher un avertissement indiquant que le fichier est potentiellement dangereux, définissez la propriété LauncherOptions.TreatAsUntrusted .

Le fichier est passé à l’application associée. Si l’application associée est une application de bureau, le fichier est transmis à l’aide des mécanismes d’exécution de l’interpréteur de commandes.

Voir aussi

S’applique à