WindowsAPICodePackの所在
複数の開発者によって、それぞれ異なるパッケージ(ブランチ?)が公開されています。
例えば、aybe氏 リンクは、GitHub
- https://www.nuget.org/packages/WindowsAPICodePack-Core
- https://www.nuget.org/packages/WindowsAPICodePack-ExtendedLinguisticServices
- https://www.nuget.org/packages/WindowsAPICodePack-Sensors
- https://www.nuget.org/packages/WindowsAPICodePack-Shell
- https://www.nuget.org/packages/WindowsAPICodePack-ShellExtensions
Microsoft版も存在しますが、開発者は、同じAybe氏です。
Microsoft.WindowsAPICodePack 作成者は、Aybe 氏
- https://www.nuget.org/packages/Microsoft-WindowsAPICodePack-Core/
- https://www.nuget.org/packages/Microsoft-WindowsAPICodePack-Shell/
- https://www.nuget.org/packages/Microsoft-WindowsAPICodePack-ShellExtensions/
- https://www.nuget.org/packages/Microsoft-WindowsAPICodePack-ExtendedLinguisticServices/
- https://www.nuget.org/packages/Microsoft-WindowsAPICodePack-Sensors/
プロジェクトのGitHubから、まずは、Readmeを読むことにします。
ReadMeには、「代わりに、SharpDXを使用することを強くお勧めします。」と書いてあるので、Windows API CodePackではなく、SharpDXについて調べてみることにします。
それで、SharpDXを調べた結果、現在(2019-02-13)ドキュメントとサンプルコードが、存在しません。ソースコードから使い方を理解できる人しか使えない状態でした。
確認出来たので、安心して、Windows API CodePackを使うことができます。
しかし、DirextXを使用したプログラムをC#で作成することが目的の場合は、Windows 10、Visual Studio 2017の組み合わせでは、Windwos API Code Pack内にある、DirextXのサンプルコードは、DirextXのバージョンの関係で動作しなかったので、はじめから、SharpDXを使用したほうが良いと思います。
Visual Studioに、Windwos API Code Pack を導入します。
プロジェクトを開始する前だと、NugetのGUIツールが使えないので、Nugetコンソールを使ってWindwos API Code Pack を導入します。
ブランチは、いろいろありますが、Aybe氏のものを利用することにしました。
NugetのWindowsAPICodePack-Coreページに移動します。
Nugetコンソールに入力する内容を確認します。

Visual Studioで、「ツール」を選択し、「NuGetパッケージマネージャー」、「パッケージマネージャーコンソール」を選択します。

Webサイトで確認した内容を入力し、Enterキーをクリックします。

ソリューションを開いた状態で、実行する必要があるようです。
プロジェクトを作成します。
ソリューションを開いた状態であれば、「NuGetパッケージ管理」が利用できます。
Visual Studioで、「ツール」を選択し、「NuGetパッケージマネージャー」、「ソリューションのNuGetパッケージ管理」を選択します。

検索ウィンドウにWindowsAPICodePack-Coreを入力して、リストを絞り込み、左側の枠で、インストールするパッケージを選択し、右上の枠で、インストールするソリューションを選択し、右下のインストールボタンを押します。
確認のダイアログが表示されるので、OKをクリックします。

確認のダイアログが表示されるので、OKをクリックします。

ライセンスの同意ダイアログが表示されます。

インストールが完了しました。

ReadMeの内容に従い、残りの4つも同様にインストールします。
- https://www.nuget.org/packages/WindowsAPICodePack-ExtendedLinguisticServices
- https://www.nuget.org/packages/WindowsAPICodePack-Sensors
- https://www.nuget.org/packages/WindowsAPICodePack-Shell
- https://www.nuget.org/packages/WindowsAPICodePack-ShellExtensions
フォルダ・オープン・ダイアログだけであれば、以下の2つをインストールすれば、利用できます。
※Shellをインストールすれば、Coreは自動でインストールされます。
- WIndowsAPICodePack-Core
- WindowsAPICodePack-Shell
