首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测tablet PC

检测tablet PC
EN

Stack Overflow用户
提问于 2011-04-27 02:48:19
回答 3查看 4.1K关注 0票数 3

我有一个.net winforms应用程序,一些用户将在Win7平板电脑上运行它。对于这些用户,我希望更改某些UI元素以使笔输入更容易,同时将这些项目留给常规用户使用。我已经能够找到关于笔和触摸的设计指南的msdn文档,以及关于电子墨水之类的细节,但没有关于仅仅检测“这台机器是否支持触控笔或触摸”的内容。有什么提示吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-27 02:54:25

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

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

有关如何在运行Windows Vista或Windows XP Tablet PC Edition的Tablet PC上使用GetSystemMetrics的详细信息,请参阅确定PC是否为Tablet PC。

资料来源

Determining Whether a PC is a Tablet PC

MSDN Windows Tablet - Frequently Asked Questions

票数 3
EN

Stack Overflow用户

发布于 2011-04-27 02:55:38

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

代码语言:javascript
复制
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);
}

看看这是否有帮助。

票数 2
EN

Stack Overflow用户

发布于 2011-05-03 04:19:00

除了接受的答案之外,您还应该允许用户手动在平板电脑和非平板电脑模式之间切换。检测可能会失败,或者操作系统也不是按照设计的方式使用。这可能发生在嵌入式设备上,这些设备使用带有特殊软件的非平板电脑操作系统,反之亦然。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5795010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档