确定电脑是否为平板电脑
有时可能需要确定应用程序是否在平板电脑上运行,因为你可能希望应用程序利用固有的墨迹、识别和笔功能。 为了帮助你确定应用程序是否有权访问平板电脑功能,可以使用本主题中所述的 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 的墨迹书写控件。
相关主题