Modifie le filtre des messages User Interface Privilege Isolation (UIPI) pour une fenêtre spécifiée
#include <WinAPISysWin.au3>
_WinAPI_ChangeWindowMessageFilterEx ( $hWnd, $iMsg, $iAction )
$hWnd | Handle de la fenêtre dont le filtre des messages UIPI doit être modifié. Si ce paramètre est égal à 0, le filtre de messages UIPI sera modifiée d'une manière large. De plus, sous Windows Vista, ce paramètre n'est pas utilisé et doit être défini à 0. |
$iMsg | Le message que le filtre des messages laisse passer ou bloque. |
$iAction | L'action à effectuer. Ce paramètre peut prendre l'une des valeurs suivantes: $MSGFLT_ALLOW $MSGFLT_DISALLOW Windows 7 ou version supérieure $MSGFLT_RESET |
Succès: | Retourne 1 et définit @extended à 0 ou à l'une des valeurs suivantes (uniquement sous Windows 7 et supérieur). $MSGFLTINFO_ALLOWED_HIGHER $MSGFLTINFO_ALREADYALLOWED_FORWND $MSGFLTINFO_ALREADYDISALLOWED_FORWND $MSGFLTINFO_NONE (Voir MSDN pour plus d'informations) |
Échec: | Retourne 0 et définit @error <> 0, appelez _WinAPI_GetLastError() pour obtenir des informations de code étendu. |
UIPI est une fonction de sécurité qui empêche les messages d'être reçu d'un expéditeur d'un niveau d'intégrité inférieur.
Vous pouvez utiliser cette fonction pour permettre à des messages spécifiques d'être délivrés à une fenêtre, même si le message provient d'un processus d'un niveau d'intégrité inférieur.
Certains messages dont la valeur est plus petite que WM_USER doivent être transmis par l'intermédiaire du filtre, quel que soit le réglage du filtre. Il n'y aura aucun effet lorsque vous essayerez d'utiliser cette fonction pour autoriser ou bloquer de tels messages.
Cette fonction nécessite Windows Vista ou une version ultérieure.
Consultez ChangeWindowMessageFilterEx dans la librairie MSDN.