CreateSyntheticPointerDevice2-Funktion

[Einige Informationen beziehen sich auf vorab veröffentlichte Produkte, die vor der kommerziellen Veröffentlichung erheblich geändert werden können. Microsoft übernimmt keine Gewährleistungen, ausdrücklichen oder konkludenten Angaben in Bezug auf die hier bereitgestellten Informationen.]

Erstellt ein synthetisches Zeigergerät mit den zugeordneten Parametern. Eingaben können mithilfe dieses Geräts über InjectSyntheticPointerInput eingefügt werden. Wenn das Einspritzgerät nicht mehr benötigt wird, sollte es über DestroySyntheticPointerDevice bereinigt werden.

Syntax

WINUSERAPI
HSYNTHETICPOINTERDEVICE
WINAPI
CreateSyntheticPointerDevice2(
    _In_ SYNTHETIC_DEVICE_CREATION_PARAMS* pParams);

Parameter

pParams

Ein Zeiger auf eine SYNTHETIC_DEVICE_CREATION_PARAMS Struktur, die die Parameter für das Gerät enthält.

Zurückgegebener Wert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Handle für das synthetische Zeigergerät.

Wenn die Funktion fehlschlägt, ist der Rückgabewert NULL. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen abzurufen.

Bemerkungen

Die vorhandene CreateSyntheticPointerDevice kann nicht zum Erstellen von Touchpadgeräten verwendet werden, da Touchpads mit einer physischen Größe erstellt werden müssen.

SYNTHETIC_DEVICE_CREATION_OPTIONS

Optionen zum Erstellen eines synthetischen Zeigergeräts.

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)
Wert Bedeutung
SDCO_NONE (0x0) Keine speziellen Optionen.
SDCO_PHYSICAL_SIZE (0x1) Die eingefügte Eingabe ist relativ zum Gerät anstelle der zugeordneten Anzeige(n). Wenn angegeben, müssen die Abmessungen des Geräts angegeben werden. Beim Einfügen von Eingaben mithilfe von InjectSyntheticPointerInput sollten die Eingabekoordinaten im ptHimetricLocation-Feld der Zeigerinformationen anstelle von ptPixelLocation angegeben werden.
SDCO_TOUCHPAD_GESTURE_ONLY (0x2) Die injizierte Touchpadeingabe wird immer als Geste behandelt und kann nicht als Mausbewegung oder Klicks erkannt werden. Wenn nicht angegeben, behandelt das System die injizierte Touchpadeingabe identisch mit physischen Touchpadeingaben.

SYNTHETIC_DEVICE_CREATION_PARAMS

Eine Struktur, die die Parameter zum Erstellen eines synthetischen Injektionsgeräts darstellt.

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;

Elemente

pointerType

Der Typ des erstellten Geräts (PT_TOUCH, PT_PEN oder PT_TOUCHPAD).

maxCount

Die maximale Anzahl von Kontakten, die gleichzeitig eingefügt werden können.

feedbackMode

Der Modus, in dem die eingefügte Eingabe visuelles Feedback gerendert hat.

Hmonitor

Der Monitor, dem die eingefügte Eingabe zugeordnet wird, falls zutreffend.

deviceWidth

Die physische Breite des Geräts in himetric (1/100th of a millimeter).

deviceHeight

Die physische Höhe des Geräts in himetric (1/100th of a millimeter).

Optionen

Null oder mehr Optionen aus SYNTHETIC_DEVICE_CREATION_OPTIONS.

Bemerkungen

Die Felder "pointerType " und "options " steuern die gültigen Werte für die anderen Felder:

PT_TOUCH:

  • maxCount muss größer als 0 und kleiner als oder gleich 256 sein.
  • FeedbackMode muss POINTER_FEEDBACK_DEFAULT, POINTER_FEEDBACK_INDIRECT oder POINTER_FEEDBACK_NONE sein.
  • hMonitor kann nullptr sein (Eingabe wird dem virtuellen Desktop zugeordnet) oder ein gültiger Monitor.
  • "deviceWidth" und "deviceHeight" müssen ungleich Null sein, wenn SDCO_PHYSICAL_SIZE angegeben ist und wenn nicht.
  • Nur SDCO_PHYSICAL_SIZE ist für Optionen (oder SDCO_NONE) gültig.

PT_PEN:

  • maxCount muss 1 sein.
  • FeedbackMode muss POINTER_FEEDBACK_DEFAULT, POINTER_FEEDBACK_INDIRECT oder POINTER_FEEDBACK_NONE sein.
  • hMonitor kann nullptr oder ein gültiger Monitor sein.
  • "deviceWidth" und "deviceHeight" müssen ungleich Null sein, wenn SDCO_PHYSICAL_SIZE angegeben ist und wenn nicht.
  • Nur SDCO_PHYSICAL_SIZE ist für Optionen (oder SDCO_NONE) gültig.

PT_TOUCHPAD:

  • maxCount muss größer als 0 und kleiner als oder gleich 5 sein.
  • feedbackMode muss POINTER_FEEDBACK_NONE werden.
  • hMonitor muss nullptr sein (Touchpadeingaben werden immer über die Mausposition dem virtuellen Desktop zugeordnet).
  • deviceWidth und deviceHeight müssen ungleich Null sein.
  • SDCO_PHYSICAL_SIZE müssen in Optionen angegeben werden, SDCO_TOUCHPAD_GESTURE_ONLY optional ist.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 11 [nur Desktop-Apps]
Unterstützter Server (Mindestversion) Nicht unterstützt
Header Winuser.h (einschließen Windows.h)
Bibliothek User32.lib
DLL User32.dll (Ordnungszahl 2690)

Siehe auch