2018年秋のWindows 10の大型アップデート「1809」の新機能に「クリップボードの履歴」があります(「クラウドクリップボード」とも)。クリップボードにコピーした履歴を、デバイス間でローミングできる優れものです。その履歴を参照するAPIも一緒に提供されました。さっそくアプリを作って試してみましょう。
- 適用バージョン:Windows 10 version 1809(build 17763)以降
はじめに
「クリップボードの履歴」はWindows 10 1809(build 17763)の新機能で、履歴にアクセスするポップアップが[Windows]キー+[V]キーを押すと立ち上がります(次の画像)。クリップボードへコピーした履歴が遡って表示され、どれかを選ぶとそのときアクティブなアプリ(画像では「メモ帳」)に貼り付けられます。それぞれの履歴の左下には、コピーした時刻(または、ローミングした時刻)が表示されています。右側には2~3個のボタンが縦に並んでいて、上から、その履歴の削除/ピン留め/ローミング(同期)となっています。
クリップボードの履歴を使うには、設定アプリの[システム]-[クリップボード]で設定します。設定では、機能の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つのプロジェクトが入っています。
- ClipboardViewer:本稿で説明するUWPのサンプルコード
- WpfSample:WPFのサンプル
WPFのサンプルの方は、まさに履歴を表示するだけのものです(次の画像)。本稿では説明しませんが、従来のデスクトップアプリからもクリップボードの履歴にアクセスできることを示すために作りました。従来のデスクトップアプリからUWPのAPIを使う方法について、詳しくは第2回「超簡単! WPFなどの.NETのアプリからUWPのAPIを使う」をご覧ください。
この記事は参考になりましたか?
- この記事の著者
-
biac(ばいあっく)
HONDA R&Dで自動車の設計をやっていた機械屋さんが、技術の進化スピードに魅かれてプログラマーに。以来30年ほど、より良いコードをどうやったら作れるか、模索の人生。わんくま同盟の勉強会(名古屋)で、よく喋ってたりする。2014/10~2019/6 Microsoft MVP (Windows Devel...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
