SHOEISHA iD

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

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

UWPアプリ開発の最前線

クリップボードビューアを作ろう!
~Windows 10 1809の新機能「クリップボード履歴」にアクセス

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

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

 2018年秋のWindows 10の大型アップデート「1809」の新機能に「クリップボードの履歴」があります(「クラウドクリップボード」とも)。クリップボードにコピーした履歴を、デバイス間でローミングできる優れものです。その履歴を参照するAPIも一緒に提供されました。さっそくアプリを作って試してみましょう。

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

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

はじめに

 「クリップボードの履歴」はWindows 10 1809(build 17763)の新機能で、履歴にアクセスするポップアップが[Windows]キー+[V]キーを押すと立ち上がります(次の画像)。クリップボードへコピーした履歴が遡って表示され、どれかを選ぶとそのときアクティブなアプリ(画像では「メモ帳」)に貼り付けられます。それぞれの履歴の左下には、コピーした時刻(または、ローミングした時刻)が表示されています。右側には2~3個のボタンが縦に並んでいて、上から、その履歴の削除/ピン留め/ローミング(同期)となっています。

クリップボードの履歴を開いた様子
Windows 10 1809の新機能「クリップボードの履歴」ポップアップ

 クリップボードの履歴を使うには、設定アプリの[システム]-[クリップボード]で設定します。設定では、機能のON/OFFと、デバイス間の同期(ローミング)の方法を切り替えます。クラウド経由でローミングもできることから、この機能は「クラウドクリップボード」/「クラウドベースのクリップボード」などとも呼ばれています。

 Windows 10 1809用のSDKには、このクリップボードの履歴にアクセスするためのAPIも追加されました。そこで今回は、クリップボードの履歴とクリップボードそのものの内容を表示する「クリップボードビューア」を作ってみましょう(次の画像)。青いヘッダー部分に1つ表示されているのは、現在のクリップボードの内容です。下のグリッド部分に並んでいるのが、履歴の内容です。履歴のどれかをクリックすると、それがクリップボードに書き戻されます。また、Windows 10標準の履歴アプリ(ポップアップ)では表示されない情報がいろいろ取得できます。なお、これらのAPIは、WPFなどの従来のデスクトップアプリからも使えます(サンプルコード参照)。

今回のサンプルアプリ
今回のサンプルアプリ

 また、このサンプルアプリでは、Windows Community ToolkitのAdaptiveGridViewコントロール/ScrollHeaderコントロール/WrapPanelコントロールを使っています。これらについても、簡単に紹介します。

対象読者

  • UWPアプリを作っている開発者
  • クリップボードの履歴について詳しく知りたい開発者

必要な環境

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

  • Windows 10 1809以降
  • Visual Studio 2017 Version 15.9以降(無償のCommunity Editionで可)
  • UWP用Windows 10 SDK:10.0.17763以降

 なお、サンプルコードには2つのプロジェクトが入っています。

 WPFのサンプルの方は、まさに履歴を表示するだけのものです(次の画像)。本稿では説明しませんが、従来のデスクトップアプリからもクリップボードの履歴にアクセスできることを示すために作りました。従来のデスクトップアプリからUWPのAPIを使う方法について、詳しくは第2回「超簡単! WPFなどの.NETのアプリからUWPのAPIを使う」をご覧ください。

WPFのサンプル
WPFのサンプル

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

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

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

メールバックナンバー

次のページ
どんな機能なのか?

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

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

もっと読む

この記事の著者

biac(ばいあっく)

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング