Funktionreferenz


_WinAPI_ChangeWindowMessageFilterEx

Beschreibung anzeigen in

Ändert den User Interface Privilege Isolation (UIPI) Nachrichtenfilter für ein bestimmtes Fenster

#include <WinAPISysWin.au3>
_WinAPI_ChangeWindowMessageFilterEx ( $hWnd, $iMsg, $iAction )

Parameter

$hWnd Handle zu dem Fenster, dessen UIPI-Nachrichtenfilter geändert werden soll.
Ist dieser Parameter gleich 0, wird der UIPI-Meldungsfilter prozessübergreifend geändert.
Außerdem wird dieser Parameter unter Windows Vista nicht verwendet und sollte auf 0 gesetzt werden.
$iMsg Die Nachricht, die der Nachrichtenfilter durchlässt oder blockiert.
$iAction Die auszuführende Aktion. Dieser Parameter kann einen der folgenden Werte sein:
    $MSGFLT_ALLOW
    $MSGFLT_DISALLOW

Windows 7 oder höher
    $MSGFLT_RESET

Rückgabewert

Erfolg: 1 und setzt das @extended-Flag auf 0 oder einen der folgenden Werte (nur unter Windows 7 oder höher).
    $MSGFLTINFO_ALLOWED_HIGHER
    $MSGFLTINFO_ALREADYALLOWED_FORWND
    $MSGFLTINFO_ALREADYDISALLOWED_FORWND
    $MSGFLTINFO_NONE
(Siehe MSDN für weitere Informationen)
Fehler: 0 und setzt das @error-Flag auf ungleich 0. Es ist _WinAPI_GetLastError() aufzurufen, um erweiterte Codeinformationen zu erhalten.

Bemerkungen

UIPI ist ein Sicherheitsmerkmal, das verhindert, dass Nachrichten von einem Absender mit niedrigerer Integritätsstufe empfangen werden können.
Mit dieser Funktion kann man zulassen, dass bestimmte Nachrichten an ein Fenster zugestellt werden, auch wenn die Nachricht von einem Prozess auf einer niedrigeren Integritätsebene stammt.

Bestimmte Nachrichten, deren Wert kleiner als WM_USER ist, müssen unabhängig von der Filtereinstellung durch den Filter geleitet werden. Der Versuch, mit dieser Funktion solche Nachrichten zuzulassen oder zu blockieren, hat keine Auswirkungen.

Diese Funktion erfordert Windows Vista oder höher.

Siehe auch

Suche nach ChangeWindowMessageFilterEx in der MSDN Bibliothek.