1

ファイルパス(「C:\ ...」など)を含む配列があり、アプリからデフォルトのアプリでそれらを開きたいと思います。リストだとしましょう。そのうちの1つをクリックすると開きます。

これは、ファイルの非同期を起動する方法です。

await Windows.System.Launcher.LaunchFileAsync(fileToLaunch);

読み取り専用プロパティWindows.Storage.StorageFileを持つファイルの種類が必要なため、パスを設定できません。Pathタップ/クリックしたらどうすれば開くことができますか?

4

4 に答える 4

4

コメントの私のリンクからコピーされました:

// Path to the file in the app package to launch
   string exeFile = @"C:\Program Files (x86)\Steam\steamapps\common\Skyrim\TESV.exe";

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

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

var options = **もちろん、ApplicationPickerが開かないように、-Partを省略できます。

またはこれを使用できます:

StorageFile fileToLaunch = StorageFile.GetFileFromPathAsync(myFilePath);
await Windows.System.Launcher.LaunchFileAsync(fileToLaunch);
于 2012-09-17T10:30:01.210 に答える
2

タイプでこのメソッドhttp://msdn.microsoft.com/en-US/library/windows/apps/windows.storage.storagefile.getfilefrompathasyncを使用する必要がありますこのメソッド は、すでに ファイルがある場合にファイルを取得するために使用されます
StorageFile

path

于 2012-09-17T10:31:37.887 に答える
0

答えはこのサンプル内にあります:http://code.msdn.microsoft.com/windowsapps/Association-Launching-535d2cec

簡単な答えは:

// First, get the image file from the package's image directory.
string fileToLaunch = @"images\Icon.Targetsize-256.png";
var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(fileToLaunch);

// Next, launch the file.
bool success = await Windows.System.Launcher.LaunchFileAsync(file);
于 2013-05-20T21:02:44.567 に答える
0

最善の解決策はこれです:

string filePath = @"file:///C:\Somewhere\something.pdf";

    if (filePath != null)
    {
       bool success = await Windows.System.Launcher.LaunchUriAsync(new Uri(filePath));
       if (success)
       {
          // File launched
       }
       else
       {
          // File launch failed
       }
    }

このアプリは、システムのデフォルトアプリケーション、この場合はAdobeReaderを使用して起動します。

于 2015-12-18T10:39:50.770 に答える