SHOEISHA iD

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

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

UWPアプリ開発の最前線

簡単になったUWP Bridge
~Windows 10 1803の新機能「タイムライン」をWPFアプリに実装してみる

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


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

デスクトップブリッジで「UWPアプリ化」する

 ユーザーが「タイムライン」のカードをクリックすると、Windowsがプロトコルアクティベーションを使ってアプリを呼び出します。ということは、その情報をWindowsに登録しておかないといけないわけです。URIスキームに対応するアプリをレジストリに登録するのですが、UWPアプリであればマニフェストに宣言しておくだけで後はUWPが登録/削除をやってくれます。自前で行おうとすると、レジストリの登録/削除を行うインストーラ/アンインストーラを作ることになります(Visual Studio 2017 Installer Projectsやサードパーティ製のインストーラ開発製品などを使います)。ここは、はるかに簡単にできる「UWPアプリ化」をしてしまいましょう。

デスクトップブリッジのプロジェクトを追加する

 ソリューションに新しいプロジェクトを追加します。[新しいプロジェクトの追加]ダイアログでは、[Windows アプリケーション パッケージ プロジェクト](Windows Application Packaging Project、以降は「WAPプロジェクト」と略します)を選んでください(次の画像)。この機能は、Visual Studio 2017 Version 15.5で導入されたものです。

[新しいプロジェクトの追加]ダイアログで[Windows アプリケーション パッケージ プロジェクト]を選ぶ
デスクトップブリッジのプロジェクトを追加する

 追加するとき、フレームワークのバージョンは何でも構いません。上の画像のダイアログで[OK]ボタンをクリックすると、UWPのバージョンを指定するダイアログが出てきます(次の画像)。「タイムライン」のAPIが使えるのはbuild 16299以降ですから、[最小バージョン]ドロップダウンは16299以上を選択します(新しいAPIを使わないとしても、デスクトップブリッジが導入された14393以上)。

WAPプロジェクト作成時に出てくるターゲットバージョン指定ダイアログ
最小バージョンは16299以上にする

 WAPプロジェクトが作成されると、次の画像のようなウェルカムページが表示されます。デスクトップブリッジに関する情報へのリンクが並んでいます。

WAPプロジェクトが作成されると出てくるウェルカムページ
WAPプロジェクトのウェルカムページ

 上のリンクの中で、「要件の確認」ページは確認しておいてください。「UWPアプリ化」できるアプリの条件が書かれています。日本語版のページは誤りが多いので、読むのは大変かもしれませんが英語版のページをお勧めします。

 「要件の確認」ページの最初に書かれていることですが、デスクトップブリッジがサポートされたのはWindows 10 version 1607(build 14393)からです。1607に含まれている.NET Frameworkのバージョンは4.6.2なので、「UWPアプリ化」するアプリも.NET Framework 4.6.2であれば安心できます(本稿執筆時点の日本語版は「4.6.1」と誤記しています)。

WPFアプリへの参照を追加する

 ソリューションエクスプローラーでWAPプロジェクトを見ると、[アプリケーション]という項目があります。それを右クリックして出てくるコンテキストメニューで、[参照の追加]を選んでください。出てきた[参照マネージャー]ダイアログで、WPFアプリのプロジェクトにチェックを入れてOKします。すると、次の画像のように、WAPプロジェクトからWPFアプリのプロジェクトを参照している形になります。

WAPプロジェクトにWPFプロジェクトへの参照が作成されている
WPFアプリへの参照を追加した後のソリューションエクスプローラー

 これでWPFアプリが「UWPアプリ化」されました。WAPプロジェクトの方をビルドして実行してみてください。WPFアプリが起動しますが、次のような違いがあります。

  • タスクマネージャーに表示されるアプリ名は、WAPプロジェクトの名前になる(上の画像の例だと「DesktopBridge」)
  • スタートメニューにもWAPプロジェクトの名前(「DesktopBridge」)で登録される

 アプリ名は、パッケージマニフェスト(WAPプロジェクトの「Package.appxmanifest」ファイル)で変更できます。パッケージマニフェストをダブルクリックして開き、次の3か所の名前を設定します。[アプリケーション]タブの[表示名]/[ビジュアル資産]タブの[短い名前](スタートメニューのタイルに表示される名前)/[パッケージ化]タブの[パッケージ表示名](「Store」に申請するときは、ここはWebから申請した名前に変更されます)。

次のページ
タイル画像を作成する

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

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

もっと読む

この記事の著者

biac(ばいあっく)

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10810 2019/11/10 21:18

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング