Ändert den User Interface Privilege Isolation (UIPI) Nachrichtenfilter für ein bestimmtes Fenster
#include <WinAPISysWin.au3>
_WinAPI_ChangeWindowMessageFilterEx ( $hWnd, $iMsg, $iAction )
| $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 |
| 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. |
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.
Suche nach ChangeWindowMessageFilterEx in der MSDN Bibliothek.