Функция CreateSyntheticPointerDevice2

[Некоторые сведения связаны с предварительно выпущенным продуктом, который может быть существенно изменен до его коммерческого выпуска. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь.]

Создает устройство искусственного указателя с помощью связанных параметров. Входные данные можно внедрить с помощью этого устройства с помощью InjectSyntheticPointerInput. Если устройство внедрения больше не требуется, его следует очистить с помощью DestroySyntheticPointerDevice.

Синтаксис

WINUSERAPI
HSYNTHETICPOINTERDEVICE
WINAPI
CreateSyntheticPointerDevice2(
    _In_ SYNTHETIC_DEVICE_CREATION_PARAMS* pParams);

Параметры

pParams

Указатель на SYNTHETIC_DEVICE_CREATION_PARAMS структуру, содержащую параметры для устройства.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение является дескриптором для устройства искусственного указателя.

Если функция завершается ошибкой, возвращаемое значение равно NULL. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Замечания

Существующий createSyntheticPointerDevice не может использоваться для создания устройств сенсорной панели, так как сенсорные панели должны создаваться с физическим размером.

SYNTHETIC_DEVICE_CREATION_OPTIONS

Параметры создания искусственного указателя.

typedef enum tagSYNTHETIC_DEVICE_CREATION_OPTIONS
{
    SDCO_NONE                   = 0x0,
    SDCO_PHYSICAL_SIZE          = 0x1,
    SDCO_TOUCHPAD_GESTURE_ONLY  = 0x2,
} SYNTHETIC_DEVICE_CREATION_OPTIONS;
DEFINE_ENUM_FLAG_OPERATORS(SYNTHETIC_DEVICE_CREATION_OPTIONS)
Ценность Значение
SDCO_NONE (0x0) Никаких специальных параметров.
SDCO_PHYSICAL_SIZE (0x1) Введенные входные данные относятся к устройству, а не к сопоставленным дисплеям. Если задано, необходимо указать измерения устройства. При внедрении входных данных с помощью InjectSyntheticPointerInput входные координаты должны быть указаны в поле ptHimetricLocation указателя вместо ptPixelLocation.
SDCO_TOUCHPAD_GESTURE_ONLY (0x2) Входные данные сенсорной панели всегда будут рассматриваться как жест и не могут быть распознаны как движение мыши или щелчки мыши. Если не указано, система будет обрабатывать входные данные внедренной сенсорной панели идентично физическому вводу сенсорной панели.

SYNTHETIC_DEVICE_CREATION_PARAMS

Структура, представляющая параметры для создания искусственного устройства внедрения.

typedef struct tagSYNTHETIC_DEVICE_CREATION_PARAMS
{
    POINTER_INPUT_TYPE pointerType;
    ULONG maxCount;
    POINTER_FEEDBACK_MODE feedbackMode;
    HMONITOR hMonitor;
    ULONG deviceWidth;
    ULONG deviceHeight;
    SYNTHETIC_DEVICE_CREATION_OPTIONS options;
} SYNTHETIC_DEVICE_CREATION_PARAMS;

Members

pointerType

Тип создаваемого устройства (PT_TOUCH, PT_PEN или PT_TOUCHPAD).

maxCount

Максимальное количество контактов, которые можно внедрить одновременно.

feedbackMode

В режиме, в котором внедренные входные данные отображаются визуальные отзывы.

hMonitor

Монитор, с которым сопоставляются введенные входные данные, если применимо.

deviceWidth

Физическая ширина устройства в химетрике (1/100 из миллиметра).

deviceHeight

Физическая высота устройства в химетрике (1/100-й миллиметр).

параметры

Ноль или больше вариантов из SYNTHETIC_DEVICE_CREATION_OPTIONS.

Замечания

Поля указателей и параметров управляют допустимыми значениями для других полей:

PT_TOUCH:

  • maxCount должно быть больше 0 и меньше или равно 256.
  • FeedbackMode должен быть POINTER_FEEDBACK_DEFAULT, POINTER_FEEDBACK_INDIRECT или POINTER_FEEDBACK_NONE.
  • hMonitor может быть nullptr (входные данные сопоставляются с виртуальным рабочим столом) или допустимым монитором.
  • deviceWidth и deviceHeight должны быть ненулевыми, если SDCO_PHYSICAL_SIZE указан и ноль, если нет.
  • Только SDCO_PHYSICAL_SIZE допустимы для параметров (или SDCO_NONE).

PT_PEN:

  • maxCount должно быть 1.
  • FeedbackMode должен быть POINTER_FEEDBACK_DEFAULT, POINTER_FEEDBACK_INDIRECT или POINTER_FEEDBACK_NONE.
  • hMonitor может быть nullptr или допустимым монитором.
  • deviceWidth и deviceHeight должны быть ненулевыми, если SDCO_PHYSICAL_SIZE указан и ноль, если нет.
  • Только SDCO_PHYSICAL_SIZE допустимы для параметров (или SDCO_NONE).

PT_TOUCHPAD:

  • maxCount должно быть больше 0 и меньше или равно 5.
  • В POINTER_FEEDBACK_NONE должен бытьPOINTER_FEEDBACK_NONE feedbackMode.
  • hMonitor должен иметь значение NULLPTR (входные данные сенсорной панели всегда сопоставляются с виртуальным рабочим столом с помощью расположения мыши).
  • deviceWidth и deviceHeight должны быть ненулевыми.
  • SDCO_PHYSICAL_SIZE необходимо указать в параметрах, SDCO_TOUCHPAD_GESTURE_ONLY является необязательным.

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 11 [только классические приложения]
Минимальный поддерживаемый сервер Ни одна версия не поддерживается
Header Winuser.h (include Windows.h)
Библиотека User32.lib
DLL User32.dll (порядковый номер 2690)

См. также