@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: Modifies the User Interface Privilege Isolation (UIPI) message filter for a specified window. !!!!C# Signature: [DllImport("user32.dll", SetLastError=true)] public static extern bool ChangeWindowMessageFilterEx(IntPtr hWnd, uint msg, ChangeWindowMessageFilterExAction action,ref CHANGEFILTERSTRUCT changeInfo); !!!!VB Signature: <DllImport("user32.dll")> _ Private Shared Function ChangeWindowMessageFilterEx(hWnd As IntPtr, msg As UInteger, action As ChangeWindowMessageFilterExAction, ByRef changeInfo As CHANGEFILTERSTRUCT) As <MarshalAs(UnmanagedType.Bool)> Boolean End Function !!!!User-Defined Field Types C#: public enum MessageFilterInfo : uint { None=0, AlreadyAllowed=1, AlreadyDisAllowed=2, AllowedHigher=3 }; public enum ChangeWindowMessageFilterExAction : uint { Reset = 0, Allow = 1, DisAllow = 2 }; [StructLayout(LayoutKind.Sequential)] public struct CHANGEFILTERSTRUCT { public uint size; public MessageFilterInfo info; } !!!!User-Defined Field Types VB: Private Enum MessageFilterInfo As UInteger None AlreadyAllowed AlreadyDisAllowed AllowedHigher End Enum Private Enum ChangeWindowMessageFilterExAction As UInteger Reset Allow Disallow End Enum Private Enum ChangeWindowMessageFilterFlags As UInteger Add = 1 Remove = 2 End Enum <StructLayout(LayoutKind.Sequential)> _ Private Structure CHANGEFILTERSTRUCT Public cbSize As UInteger Public ExtStatus As MessageFilterInfo End Structure !!!!Alternative Managed API: Do you know one? Please contribute it! !!!!Notes: See documentation for full use and return values !!!!Tips & Tricks: Can use this too: ChangeWindowMessageFilterEx(Handle,_message,ChangeWindowMessageFilterExAction.Allow, IntPtr.Zero); If you do not care about the filterStatus !!!!Sample Code: CHANGEFILTERSTRUCT filterStatus = new CHANGEFILTERSTRUCT(); filterStatus.size= (uint) Marshal.SizeOf(filterStatus); filterStatus.info = 0; ChangeWindowMessageFilterEx(Handle,_message,ChangeWindowMessageFilterExAction.Allow, ref filterStatus); Note: If you do not care about the status, then for the last argument you can replace 'ref FilterStatus' with 'IntPtr.Zero' Documentation: ChangeWindowMessageFilterEx@msdn on MSDN
Edit user32.ChangeWind...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.