Функция RegisterPointerInputTarget (winuser.h)

Позволяет вызывающей объекту зарегистрировать целевое окно, в которое перенаправляются все входные данные указателя указанного типа.

Синтаксис

BOOL RegisterPointerInputTarget(
  [in] HWND               hwnd,
  [in] POINTER_INPUT_TYPE pointerType
);

Параметры

[in] hwnd

Окно для регистрации в качестве глобального целевого объекта перенаправления.

Перенаправление может привести к потере активации в окне переднего плана (фокус). Чтобы избежать этого, убедитесь, что окно является окном только для сообщений или в ней задан стиль WS_EX_NOACTIVATE .

[in] pointerType

Тип входных данных указателя для перенаправления в указанное окно. Это любое допустимое и поддерживаемое значение из перечисления POINTER_INPUT_TYPE . Обратите внимание, что универсальный тип PT_POINTER и тип PT_MOUSE недопустимы в этом параметре.

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

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

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

Комментарии

Приложение с привилегией доступа к пользовательскому интерфейсу может использовать эту функцию для регистрации собственного окна для получения всех входных данных указанного типа указателя. Каждый рабочий стол допускает только одно такое глобальное целевое окно перенаправления для каждого типа входных данных указателя в любой момент времени. Первое окно для успешной регистрации остается в силе до тех пор, пока окно не будет отменено или уничтожено, после чего роль становится доступной для следующего квалифицированного вызывающего.

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

Приложение, которое хочет зарегистрировать то же окно в качестве глобального целевого объекта перенаправления для нескольких типов входных данных указателя, должно вызывать функцию RegisterPointerInputTarget несколько раз, по одному разу для каждого интересующего типа входных данных указателя.

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

Если указанный тип входных данных указателя недопустим, эта функция завершается ошибкой с последней ошибкой ERROR_INVALID_PARAMETER.

Если вызывающему потоку не принадлежит указанное окно, эта функция завершается сбоем с последней ошибкой ERROR_ACCESS_DENIED.

Если на рабочем столе указанного окна уже есть зарегистрированный глобальный целевой объект перенаправления для указанного типа входных данных указателя, эта функция завершается ошибкой с последней ошибкой ERROR_ACCESS_DENIED.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll