Launcher.LaunchFileAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- LaunchFileAsync(IStorageFile, LauncherOptions)
- Exemple de lancement d’association
- Recommandations en matière de types de fichiers et d’URI
- Lancer l’application par défaut pour un fichier
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
- Exemple de lancement d’association
- Recommandations en matière de types de fichiers et d’URI
- Lancer l’application par défaut pour un fichier