Обнаружение планшетного ПК - PullRequest
3 голосов
/ 26 апреля 2011

У меня есть приложение .net winforms, которое некоторые пользователи будут запускать на планшетах Win7.Для этих пользователей я хочу изменить некоторые элементы пользовательского интерфейса, чтобы упростить ввод пера, оставляя эти элементы в покое для обычных пользователей.Мне удалось найти документацию MSDN по рекомендациям по дизайну для ручки и сенсорного экрана, а также подробные сведения о электронных чернилах и т. Д., Но ничего не сказано только о том, поддерживает ли данный аппарат стилус или сенсорный экран.Есть намеки?

Ответы [ 3 ]

3 голосов
/ 26 апреля 2011

A.Используйте Windows GetSystemMetricsAPI и передайте SM_TABLETPC в качестве значения индекса.SM_TABLETPC определен в Winuser.h.Значение SM_TABLETPC равно 86.

Для веб-разработки следует прочитать переменную среды USER_AGENT_STRING.Вы можете получить доступ к этой коллекции Request.ServerVariables.

Подробнее о том, как использовать GetSystemMetrics на планшетных ПК под управлением Windows Vista или Windows XP Tablet PC Edition, см. В разделе «Определение того, является ли ПК планшетным ПК».

Источники

Определение того, является ли ПК планшетным ПК

MSDN Windows Tablet - Часто задаваемые вопросы

2 голосов
/ 26 апреля 2011

См. Сообщение MSDN . У них есть рутина на этой странице

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);
}

Посмотрите, поможет ли это.

1 голос
/ 03 мая 2011

В дополнение к принятому ответу вы также должны дать пользователю возможность вручную переключаться между режимами планшета и без планшета.Обнаружение может завершиться неудачно, или операционная система не будет использоваться так, как она была спроектирована.Это может происходить на встраиваемых устройствах, которые используют не-планшетную ОС со специальным программным обеспечением, а также наоборот.

...