SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

UWPアプリ開発の最前線

UWPアプリでファイルマネージャーを作ろう!
~ついにWindows 10 1803で実現

UWPアプリ開発の最前線 第8回

  • このエントリーをはてなブックマークに追加

 2018年春のWindows 10の大型アップデート「1803」で、ついにUWPアプリからファイルシステムへの「フルアクセス」が可能となりました。これからはファイルマネージャーのようなUWPアプリも作れる、ということです。今回は、同じく1803で追加されたTreeViewコントロールと組み合わせて、ファイルマネージャーの骨格部分を作ってみます。

  • このエントリーをはてなブックマークに追加

  • 適用バージョン:Windows 10 version 1803(build 17134)以降

はじめに

 Windows 8とともに「ストアアプリ」が登場し、それはWindows 10でUWP(Universal Windows Platform)アプリへと進化してきました。「ストアアプリ」のプラットフォームは、セキュリティやユーザーのプライバシー保護に重点を置いていました。ユーザーにとっては好ましい特徴ですが、引き換えにアプリにとっては不自由な制限を加えます。その代表的なものは、ローカルのファイルシステムへのフルアクセスが許可されないことです。原則として、ユーザーの許可がないローカルファイルへのアクセスは禁止されました。

 その原則は最新のUWPでも変わっていません。そのため、「ファイルマネージャー」のようなアプリを作れなかったのです。ディレクトリ構造とファイルを表示し、ファイルの情報表示やコピー/削除といった操作を行うようなファイルマネージャーを作るには、ローカルファイルを自由にアクセスできる必要があります。

 それがWindows 10 1803で可能になりました。今回は、その機能を使ってファイルマネージャーの骨格部分を作ってみます(次の画像)。全ローカルドライブのフォルダーとファイルを左側に表示し、選択されたファイルの情報を右側に表示します。

今回のサンプルコードを実行している様子
今回のサンプルアプリ

 ところで、長らくUWPアプリをやってこられた開発者の方は、上の画像を見て「あれっ?」と思われたことでしょう。そうです、ツリー構造を表示するためのTreeViewコントロールも、Windows 10 1803で追加されているのです。このコントロールの使い方も紹介します。

対象読者

  • UWPアプリを作っている開発者
  • UWPは制約がきついからと敬遠していた開発者

必要な環境

 サンプルコード(GitHub)を試してみるには以下の環境が必要です。

  • Windows 10 1803以降
  • Visual Studio 2017 Version 15.8以降(無償のCommunity Editionで可)
  • UWP用Windows 10 SDK:10.0.17134以降

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
ファイルの「フルアクセス」機能を使う

関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
UWPアプリ開発の最前線連載記事一覧

もっと読む

この記事の著者

biac(ばいあっく)

HONDA R&Dで自動車の設計をやっていた機械屋さんが、技術の進化スピードに魅かれてプログラマーに。以来30年ほど、より良いコードをどうやったら作れるか、模索の人生。わんくま同盟の勉強会(名古屋)で、よく喋ってたりする。2014/10~2019/6 Microsoft MVP (Windows Devel...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11072 2018/09/27 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング