Share via


RegisterPointerInputTarget-Funktion (winuser.h)

Ermöglicht dem Aufrufer, ein Zielfenster zu registrieren, an das alle Zeigereingaben des angegebenen Typs umgeleitet werden.

Syntax

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

Parameter

[in] hwnd

Das Fenster, das als globales Umleitungsziel registriert werden soll.

Die Umleitung kann dazu führen, dass das Vordergrundfenster die Aktivierung (Fokus) verliert. Um dies zu vermeiden, stellen Sie sicher, dass das Fenster ein reines Nachrichtenfenster ist oder die WS_EX_NOACTIVATE-Formatvorlage festgelegt ist.

[in] pointerType

Typ der Zeigereingabe, die an das angegebene Fenster umgeleitet werden soll. Dies ist ein beliebiger gültiger und unterstützter Wert aus der POINTER_INPUT_TYPE-Enumeration . Beachten Sie, dass der generische PT_POINTER-Typ und der PT_MOUSE-Typ in diesem Parameter ungültig sind.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich 0.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Eine Anwendung mit dem Benutzeroberflächenzugriffsrecht kann diese Funktion verwenden, um ein eigenes Fenster zu registrieren, um alle Eingaben des angegebenen Zeigereingabetyps zu empfangen. Jeder Desktop lässt nur ein solches globales Umleitungszielfenster für jeden Zeigereingabetyp zu einem bestimmten Zeitpunkt zu. Das erste Fenster, das erfolgreich registriert werden soll, bleibt in Kraft, bis das Fenster aufgehoben oder zerstört wird. Ab diesem Zeitpunkt ist die Rolle für den nächsten qualifizierten Aufrufer verfügbar.

Während der Registrierung wird alle Eingaben des angegebenen Zeigertyps, ob von einem Eingabegerät oder von einer Anwendung eingefügt, an das registrierte Fenster weitergeleitet. Wenn der Prozess, der das registrierte Fenster besitzt, jedoch Eingaben des angegebenen Zeigertyps einschleust, wird diese nicht umgeleitet, sondern normal verarbeitet.

Eine Anwendung, die dasselbe Fenster als globales Umleitungsziel für mehrere Zeigereingabetypen registrieren möchte, muss die RegisterPointerInputTarget-Funktion mehrmals aufrufen, einmal für jeden interessanten Zeigereingabetyp.

Wenn der aufrufende Thread nicht über die Benutzeroberflächenzugriffsberechtigung verfügt, schlägt diese Funktion fehl, wobei der letzte Fehler auf ERROR_ACCESS_DENIED festgelegt ist.

Wenn der angegebene Zeigereingabetyp ungültig ist, schlägt diese Funktion fehl, wobei der letzte Fehler auf ERROR_INVALID_PARAMETER festgelegt ist.

Wenn der aufrufende Thread nicht im Besitz des angegebenen Fensters ist, schlägt diese Funktion fehl, wobei der letzte Fehler auf ERROR_ACCESS_DENIED festgelegt ist.

Wenn der Desktop des angegebenen Fensters bereits über ein registriertes globales Umleitungsziel für den angegebenen Zeigereingabetyp verfügt, schlägt diese Funktion fehl, wobei der letzte Fehler auf ERROR_ACCESS_DENIED festgelegt ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (einschließlich Windows.h)
Bibliothek User32.lib
DLL User32.dll