.NET TIPS Windows 7の新機能をC#やVBで利用するには?デジタルアドバンテージ 遠藤 孝信2009/08/20 |
|
|
Windows 7にはさまざまな新機能が搭載されているが、それらの機能はネイティブ・コードにより実装されており、Windows APIやCOMコンポーネントとして提供されている。従って、C#やVisual Basic(VB)のアプリケーションでそれらの機能を使いたい場合は、DllImport属性やComImport属性などの相互運用機能を利用する必要があり、非常に手間がかかる。
そこでマイクロソフトは、Windows 7の新機能をC#やVBから利用しやすくした「Windows API Code Pack for Microsoft .NET Framework」を提供している。これはWindows APIやCOMコンポーネントの呼び出しを内部に隠ぺいし、.NETのクラス・ライブラリとして利用できるようにしたものだ。
Windows API Code Packのダウンロード
Windows API Code Packは「MSDN Code Gallery」にある以下のページから無償でダウンロードできる。本稿執筆時点での最新バージョンは「v1.0」だ。
Windows API Code Pack for Microsoft .NET Framework
現在、Windows API Code Packはソースコードとして提供されており、利用者からのフィードバックを受けながら、バージョンアップが進められているようである。実際に利用するには、ZIPファイルに含まれている.slnファイルを使って、クラス・ライブラリをビルドする必要がある。
ちなみに、Windows API Code Packのライブラリ本体はC#で記述されており、ビルドを行うと以下のようなDLLファイルが作成される。
- Microsoft.WindowsAPICodePack.dll
- Microsoft.WindowsAPICodePack.Shell.dll
- Microsoft.WindowsAPICodePack.Sensors.dll
- Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.dll
また、ZIPファイルには多数のサンプル・プログラムが含まれているが、これらはすべてC#とVBの両方で記述されている。
Windows API Code Packの機能
上記のページにもあるように、Windows API Code Pack v1.0では以下のような機能がサポートされている。
- Windows 7のタスクバー・ジャンプ・リスト、アイコン・オーバーレイ、プログレスバー、タブ・サムネイル、サムネイル・ツールバー
- Windows 7のライブラリ、既知のフォルダ(Known Folders)、非ファイルシステム・コンテナ
- Windows Shell Search APIのサポート、 Shell Namespaceエンティティの階層、シェル・オブジェクトのドラッグ&ドロップ機能
- エクスプローラ・ブラウザ・コントロール
- シェル・プロパティ・システム
- Windows VistaおよびWindows 7のコモン・ファイル・ダイアログ(カスタム・コントロールを含む)
- Windows VistaおよびWindows 7のタスク・ダイアログ
- Direct3D 11.0、Direct3D 10.1/10.0、DXGI 1.0/1.1、Direct2D 1.0、DirectWrite、Windows Imaging Component(WIC) API(DirectWriteとWICは部分的なサポート)
- センサー・プラットフォームAPI
- 拡張言語サービス(Extended Linguistic Services)API
- 電源管理API
- アプリケーション再起動およびリカバリ(Application Restart and Recovery)API
- ネットワーク・リスト・マネージャ(Network List Manager)API
- コマンド・リンク・コントロール、システム定義のシェル・アイコン
このリストからも分かるように、Windows 7の新機能(開発者向けのWindows 7の機能説明としては「Windows 7開発者ガイド」が詳しい)だけでなく、DirectXやWindows Vista向けの機能などもサポートされている。なお、DirectX関連の機能を使うには、「Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1」と「DirectX Software Development Kit March 2009 Release」が必要となる。
カテゴリ:開発環境&ツール 処理対象:ツール |
|
「.NET TIPS」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|