.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」が必要となる。End of Article

カテゴリ:開発環境&ツール 処理対象:ツール

この記事と関連性の高い別の.NET TIPS
Windows 7に標準で含まれる.NET Frameworkのバージョンは?
WPF/Windowsフォーム:タスクバーのアイコンに進捗表示を出すには?[C#、VB]
Win32 APIやDLL関数を呼び出すには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

注目のテーマ

Insider.NET 記事ランキング

本日 月間
ソリューションFLASH