Share via


PC がタブレット PC かどうかを判断する

アプリケーションで固有のインク、認識、およびペン機能を利用する必要があるため、アプリケーションがタブレット PC で実行されているかどうかを判断することが必要になる場合があります。 アプリケーションがタブレット PC 機能にアクセスできるかどうかを判断するために、このトピックで説明するように GetSystemMetrics() Windows API 呼び出しを使用できます。

Client-Side アプリケーション

次の手法を使用して、コードがタブレット PC で実行されているかどうかを判断できます。

GetSystemMetrics の使用 (SM_TABLETPC)

Windows XP Tablet PC Edition

Microsoft Windows XP Tablet PC Edition では、GetSystemMetrics(SM_TABLETPC) 関数を使用して、コンピューターがタブレット PC であるかどうかを判断します。 GetSystemMetrics(SM_TABLETPC) は、Windows XP Tablet PC Edition を実行しているコンピューターで TRUE を返すように設計されています。

Windows Vista

Windows Vista では、個別のタブレット PC SDK はなくなりました。 Windows SDK に "Tablet PC and Touch Technology" というセクションが含まれるようになり、これを反映するように GetSystemMetrics(SM_TABLETPC) のロジックが変更されました。 次のすべてが true の場合、GetSystemMetrics(SM_TABLETPC) は true を返すようになりました。

  • システムには、ペンまたはタッチの統合デジタイザーがあります。
  • タブレット PC のオプション コンポーネントがインストールされています。 このコンポーネントには、タブレット PC 入力パネルや Windows ジャーナルなどの機能が含まれています。
  • コンピューターには、省略可能なコンポーネントを使用するライセンスが付与されています。 Windows Vista Home Premium、Windows Vista Small Business、Windows Vista Professional、Windows Vista Enterprise、Windows Vista Ultimate などの Windows Vista の Premium バージョンは、オプションコンポーネントを使用するライセンスが付与されます。
  • タブレット PC 入力サービスが実行されています。 タブレット PC 入力サービスは、タブレット PC 入力を制御する Windows Vista の新しいサービスです。

この精度の向上により、GetSystemMetrics(SM_TABLETPC) は引き続き、Windows Vista を実行しているコンピューターがタブレット PC であるかどうかを判断するための推奨される方法です。

タブレット プラットフォーム バイナリの存在の使用

Windows XP Tablet PC Edition と Windows Vista の両方で、インク バイナリ (inkobj.dllやMicrosoft.Ink.dllなど) の存在を検索し、サポートされている機能が存在する場合は、サポートされている機能を使用できます。

Windows Vista では、タブレット PC プラットフォーム バイナリは既定ですべてのクライアント バージョンにインストールされます。 入力およびインク機能は、これらのバージョンで使用できます。 認識は、Windows Vista の Premium バージョンでのみ使用できます。

Web-Based アプリケーション

Windows Vista では、インターネット エクスプローラーによって報告されるユーザー エージェント文字列に"Tablet PC 2.0" が含まれます (GetSystemMetrics(SM_TABLETPC によると)、デバイスがタブレット PC の場合。

Windows XP Tablet PC Edition 2005 では、ユーザー エージェント文字列には Tablet PC 1.7 が含まれています。 ユーザー エージェント文字列は次のようになります。

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705; Tablet PC 2.0)

この値を使用して、クライアント コンピューターがタブレット PC であり、Web ベースのインク コントロールをサポートしているかどうかを判断します。

GetSystemMetrics