检测平板电脑

本文关键字:平板电脑 检测 | 更新日期: 2023-09-27 17:52:57

我有一个。net winforms应用程序,一些用户将在Win7平板电脑上运行。对于这些用户,我想更改某些UI元素,使笔输入更容易,而将这些项目留给普通用户。我找到了一些关于钢笔设计指南的msdn文档。触摸,以及电子墨水之类的细节,而不是仅仅检测"这台机器是否支持手写笔或触摸"。有提示吗?

检测平板电脑

A。使用Windows GetSystemMetricsAPI并传入SM_TABLETPC作为索引值。sm_tablepc在Winuser.h中定义。SM_TABLETPC的值为86

对于web开发,您应该阅读USER_AGENT_STRING环境变量。您可以访问此请求。ServerVariables集合。

关于如何在运行Windows Vista或Windows XP平板电脑版的平板电脑上使用GetSystemMetrics的详细信息,请参见判断PC是否为平板电脑。

来源

判断PC是否为Tablet PC

MSDN Windows Tablet -常见问题

参见msdn post。他们在那一页有一个例程

using System.Runtime.InteropServices;
[DllImport("user32.dll")]
private static extern int GetSystemMetrics(int nIndex);
// System metric constant for Windows XP Tablet PC Edition
private const int SM_TABLETPC = 86;
private readonly bool tabletEnabled;
protected bool IsRunningOnTablet()
{
    return (GetSystemMetrics(SM_TABLETPC) != 0);
}

除了可接受的答案之外,您还应该让用户手动在平板和非平板模式之间进行切换。检测可能失败,或者操作系统也没有按照设计的方式使用。这可能发生在使用非平板电脑操作系统和特殊软件的嵌入式设备上,也可能发生在其他情况下。