确定电脑是否为平板电脑

有时可能需要确定应用程序是否在平板电脑上运行,因为你可能希望应用程序利用固有的墨迹、识别和笔功能。 为了帮助你确定应用程序是否有权访问平板电脑功能,可以使用本主题中所述的 GetSystemMetrics () Windows API 调用。

Client-Side应用程序

可以使用以下技术来确定代码是否在平板电脑上运行。

使用 GetSystemMetrics (SM_TABLETPC)

Windows XP Tablet PC Edition

在 Microsoft Windows XP Tablet PC Edition 中,使用 GetSystemMetrics (SM_TABLETPC) 函数确定计算机是否为平板电脑。 GetSystemMetrics (SM_TABLETPC) 设计为在运行 Windows XP Tablet PC Edition 的计算机上返回 TRUE。

Windows Vista

在 Windows Vista 中,不再存在不同的平板电脑 SDK。 Windows SDK 现在包含一个名为“平板电脑和触控技术”的部分,GetSystemMetrics (SM_TABLETPC) 的逻辑已更改,以反映这一点。 如果以下所有条件都为 true,GetSystemMetrics (SM_TABLETPC) 现在返回 true:

  • 系统上有一个集成的数字化器,无论是笔还是触摸。
  • 已安装平板电脑可选组件。 此组件包含平板电脑输入面板和 Windows 日记帐等功能。
  • 计算机已获得使用可选组件的许可。 Windows Vista 的高级版本(如 Windows Vista 家庭高级版、Windows Vista Small Business、Windows Vista Professional、Windows Vista 企业版 和 Windows Vista 旗舰版)已获得使用可选组件的许可。
  • 平板电脑输入服务正在运行。 平板电脑输入服务是适用于 Windows Vista 的新服务,用于控制平板电脑输入。

随着准确性的提高,GetSystemMetrics (SM_TABLETPC) 仍然是确定运行 Windows Vista 的计算机是否为平板电脑的建议方法。

使用平板电脑平台二进制文件的状态

在 Windows XP Tablet PC Edition 和 Windows Vista 中,可以搜索墨迹二进制文件(例如inkobj.dll和Microsoft.Ink.dll)的存在,并使用它们支持的功能(如果存在)。

在 Windows Vista 中,平板电脑平台二进制文件默认安装在所有客户端版本上。 输入和墨迹书写功能在这些版本上可用。 识别仅在高级版本的 Windows Vista 中可用。

Web-Based应用程序

在 Windows Vista 中,如果根据 GetSystemMetrics (SM_TABLETPC) 设备是平板电脑,Internet Explorer 报告的用户代理字符串包括“Tablet PC 2.0”。

在 Windows XP Tablet PC Edition 2005 中,用户代理字符串包括平板电脑 1.7。 user-agent 字符串如下所示:

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

使用此值可确定客户端计算机是否为平板电脑,并支持基于 Web 的墨迹书写控件。

GetSystemMetrics