Teilen über


Launcher.LaunchFileAsync Methode

Definition

Überlädt

LaunchFileAsync(IStorageFile)

Startet die Standard-App, die der angegebenen Datei zugeordnet ist.

LaunchFileAsync(IStorageFile, LauncherOptions)

Startet die Standard-App, die der angegebenen Datei zugeordnet ist, unter Verwendung der angegebenen Optionen.

LaunchFileAsync(IStorageFile)

Startet die Standard-App, die der angegebenen Datei zugeordnet ist.

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)

Parameter

file
IStorageFile

Die Datei.

Gibt zurück

Der Startvorgang.

Attribute

Beispiele

In diesem Beispiel wird LaunchFileAsync(IStorageFile) verwendet, um eine Datei zu starten, die im App-Paket enthalten ist.

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

Hinweise

Die aufrufende App muss für den Benutzer sichtbar sein, wenn die API aufgerufen wird.

Diese API muss von einem ASTA-Thread (auch als UI-Thread bezeichnet) aufgerufen werden.

Diese API erzwingt auch mehrere Einschränkungen hinsichtlich der Dateitypen, die gestartet werden können. Viele Dateitypen, die ausführbaren Code enthalten, z. B. .exe, .msi und .js Dateien, werden nicht gestartet. Diese Einschränkung schützt Benutzer vor potenziell schädlichen Dateien, die das System ändern könnten.

Wenn der Start aus einem der oben genannten Gründe fehlschlägt, ist die API erfolgreich und gibt FALSE aus dem asynchronen Vorgang zurück. Da es nicht möglich ist, abzufragen, ob die oben genannten Einschränkungen für den aktuellen Start gelten, sollte die aufrufende App nicht davon ausgehen, dass der Start erfolgreich war, und sollte einen Fallbackmechanismus für den Fall bereitstellen, dass sie fehlschlägt. Eine mögliche Lösung wäre, den Benutzer aufzufordern, die Datei zu speichern und den Benutzer anzuweisen, sie auf dem Desktop zu öffnen.

Damit der Benutzer eine App auswählen kann, anstatt die Standard-App zu starten, legen Sie die LauncherOptions.DisplayApplicationPicker-Eigenschaft fest.

Um eine Warnung anzuzeigen, dass die Datei potenziell unsicher ist, legen Sie die LauncherOptions.TreatAsUntrusted-Eigenschaft fest.

Die Datei wird an die zugeordnete App übergeben. Wenn es sich bei der zugeordneten App um eine Desktop-App handelt, wird die Datei mithilfe von Shellausführungsmechanismen übergeben.

Weitere Informationen

Gilt für:

LaunchFileAsync(IStorageFile, LauncherOptions)

Startet die Standard-App, die der angegebenen Datei zugeordnet ist, unter Verwendung der angegebenen Optionen.

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)

Parameter

file
IStorageFile

Die Datei.

options
LauncherOptions

Die Startoptionen für die App.

Gibt zurück

Der Startvorgang.

Attribute

Beispiele

Rufen Sie die [Launcher.LaunchFileAsync(IStorageFile, LauncherOptions)-Methode auf , wobei LauncherOptions.DisplayApplicationPicker auf true festgelegt ist, um die App zu starten, die der Benutzer für die Datei aus dem Dialogfeld Öffnen mit auswählt.

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

Hinweise

Die aufrufende App muss für den Benutzer sichtbar sein, wenn die API aufgerufen wird.

Diese API muss in einem ASTA-Thread (auch als UI-Thread bezeichnet) aufgerufen werden.

Diese API erzwingt auch mehrere Einschränkungen hinsichtlich der Dateitypen, die gestartet werden können. Viele Dateitypen, die ausführbaren Code enthalten, z. B. .exe, .msi und .js Dateien, werden nicht gestartet. Diese Einschränkung schützt Benutzer vor potenziell schädlichen Dateien, die das System ändern könnten.

Wenn der Start aus einem der oben genannten Gründe fehlschlägt, ist die API erfolgreich und gibt FALSE aus dem asynchronen Vorgang zurück. Da es nicht möglich ist, abzufragen, ob die oben genannten Einschränkungen für den aktuellen Start gelten, sollte die aufrufende App nicht davon ausgehen, dass der Start erfolgreich war, und sollte einen Fallbackmechanismus für den Fall bereitstellen, dass sie fehlschlägt. Eine mögliche Lösung wäre, den Benutzer aufzufordern, die Datei zu speichern und den Benutzer anzuweisen, sie auf dem Desktop zu öffnen.

Damit der Benutzer eine App auswählen kann, anstatt die Standard-App zu starten, legen Sie die LauncherOptions.DisplayApplicationPicker-Eigenschaft fest.

Um eine Warnung anzuzeigen, dass die Datei potenziell unsicher ist, legen Sie die LauncherOptions.TreatAsUntrusted-Eigenschaft fest.

Die Datei wird an die zugeordnete App übergeben. Wenn es sich bei der zugeordneten App um eine Desktop-App handelt, wird die Datei mithilfe von Shellausführungsmechanismen übergeben.

Weitere Informationen

Gilt für: