英語で読む

次の方法で共有


Launcher.LaunchFileAsync メソッド

定義

オーバーロード

LaunchFileAsync(IStorageFile)

指定したファイルに関連付けられている既定のアプリを起動します。

LaunchFileAsync(IStorageFile, LauncherOptions)

指定したオプションを使用して、指定したファイルに関連付けられている既定のアプリを起動します。

LaunchFileAsync(IStorageFile)

指定したファイルに関連付けられている既定のアプリを起動します。

[Windows.Foundation.Metadata.Overload("LaunchFileAsync")]
public static IAsyncOperation<bool> LaunchFileAsync(IStorageFile file);

パラメーター

file
IStorageFile

ファイルです。

戻り値

起動操作。

属性

この例では、LaunchFileAsync(IStorageFile) を使用して、アプリ パッケージに含まれるファイルを起動します。

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
   }
}

注釈

呼び出し元のアプリは、API が呼び出されたときにユーザーに表示される必要があります。

この API は、ASTA スレッド (UI スレッドとも呼ばれます) から呼び出す必要があります。

この API では、起動できるファイルの種類にもいくつかの制限があります。 .exe、.msi、.js ファイルなど、実行可能コードを含む多くのファイルの種類は、起動をブロックされます。 この制限は、システムを変更する可能性のある悪意のあるファイルからユーザーを保護します。

上記のいずれかの理由で起動が失敗すると、API は成功し、非同期操作から FALSE を返します。 上記の制限が現在の起動に適用されるかどうかを照会する機能がないため、呼び出し元のアプリは起動が成功したと想定せず、失敗した場合にフォールバック メカニズムを提供する必要があります。 考えられる解決策は、ファイルを保存し、デスクトップで開くようにユーザーに指示することです。

ユーザーが既定のアプリを起動する代わりにアプリを選択できるようにするには、 LauncherOptions.DisplayApplicationPicker プロパティを設定します。

ファイルが安全でない可能性があることを示す警告を表示するには、 LauncherOptions.TreatAsUntrusted プロパティを設定します。

ファイルは、関連付けられているアプリに渡されます。 関連付けられているアプリがデスクトップ アプリの場合、ファイルはシェル実行メカニズムを使用して渡されます。

こちらもご覧ください

適用対象

WinRT Build 26100 およびその他のバージョン
製品 バージョン
WinRT Build 10240, Build 10586, Build 14383, Build 15063, Build 16299, Build 17134, Build 17763, Build 18362, Build 19041, Build 20348, Build 22000, Build 22621, Build 26100

LaunchFileAsync(IStorageFile, LauncherOptions)

指定したオプションを使用して、指定したファイルに関連付けられている既定のアプリを起動します。

[Windows.Foundation.Metadata.Overload("LaunchFileWithOptionsAsync")]
public static IAsyncOperation<bool> LaunchFileAsync(IStorageFile file, LauncherOptions options);

パラメーター

file
IStorageFile

ファイルです。

options
LauncherOptions

アプリの起動オプション。

戻り値

起動操作。

属性

LauncherOptions.DisplayApplicationPickertrue に設定して [Launcher.LaunchFileAsync(IStorageFile, LauncherOptions) メソッドを呼び出して、[ファイルを開く] ダイアログ ボックスからファイル用に選択したアプリを起動します。

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
   }
}

注釈

呼び出し元のアプリは、API が呼び出されたときにユーザーに表示される必要があります。

この API は、ASTA スレッド (UI スレッドとも呼ばれます) 内から呼び出す必要があります。

この API では、起動できるファイルの種類にもいくつかの制限があります。 .exe、.msi、.js ファイルなど、実行可能コードを含む多くのファイルの種類は、起動をブロックされます。 この制限は、システムを変更する可能性のある悪意のあるファイルからユーザーを保護します。

上記のいずれかの理由で起動が失敗すると、API は成功し、非同期操作から FALSE を返します。 上記の制限が現在の起動に適用されるかどうかを照会する機能がないため、呼び出し元のアプリは起動が成功したと想定せず、失敗した場合にフォールバック メカニズムを提供する必要があります。 考えられる解決策は、ファイルを保存し、デスクトップで開くようにユーザーに指示することです。

ユーザーが既定のアプリを起動する代わりにアプリを選択できるようにするには、 LauncherOptions.DisplayApplicationPicker プロパティを設定します。

ファイルが安全でない可能性があることを示す警告を表示するには、 LauncherOptions.TreatAsUntrusted プロパティを設定します。

ファイルは、関連付けられているアプリに渡されます。 関連付けられているアプリがデスクトップ アプリの場合、ファイルはシェル実行メカニズムを使用して渡されます。

こちらもご覧ください

適用対象

WinRT Build 26100 およびその他のバージョン
製品 バージョン
WinRT Build 10240, Build 10586, Build 14383, Build 15063, Build 16299, Build 17134, Build 17763, Build 18362, Build 19041, Build 20348, Build 22000, Build 22621, Build 26100