.NET Framework Class Library
Application..::.RemoveMessageFilter Method

Removes a message filter from the message pump of the application.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)
Syntax

Visual Basic (Declaration)
Public Shared Sub RemoveMessageFilter ( _
    value As IMessageFilter _
)
Visual Basic (Usage)
Dim value As IMessageFilter

Application.RemoveMessageFilter(value)
C#
public static void RemoveMessageFilter(
    IMessageFilter value
)
Visual C++
public:
static void RemoveMessageFilter(
    IMessageFilter^ value
)
JScript
public static function RemoveMessageFilter(
    value : IMessageFilter
)

Parameters

value
Type: System.Windows.Forms..::.IMessageFilter
The implementation of the IMessageFilter to remove from the application.
Remarks

You can remove a message filter when you no longer want to capture Windows messages before they are dispatched.

Examples

Before you can use a message filter, you must provide an implementation for the IMessageFilter interface. The following class creates a message filter called TestMessageFilter. This filter blocks all messages relating to the left mouse button.

Visual Basic
' Creates a message filter.
<SecurityPermission(SecurityAction.LinkDemand, Flags := SecurityPermissionFlag.UnmanagedCode)> _
Public Class TestMessageFilter
    Implements IMessageFilter

    <SecurityPermission(SecurityAction.Demand)> _
    Public Function PreFilterMessage(ByRef m As System.Windows.Forms.Message) _
    As Boolean Implements IMessageFilter.PreFilterMessage
        ' Blocks all the messages relating to the left mouse button.
        If ((m.Msg >= 513) And (m.Msg <= 515)) Then
            Console.WriteLine("Processing the messages : " & m.Msg)
            Return True
        End If
        Return False
    End Function
End Class

C#
// Creates a  message filter.
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public class TestMessageFilter : IMessageFilter
{
    public bool PreFilterMessage(ref Message m)
    {
        // Blocks all the messages relating to the left mouse button.
        if (m.Msg >= 513 && m.Msg <= 515)
        {
            Console.WriteLine("Processing the messages : " + m.Msg);
            return true;
        }
        return false;
    }
}

Visual C++
// Creates a  message filter.
ref class TestMessageFilter: public IMessageFilter
{
public:
   [SecurityPermission(SecurityAction::LinkDemand, Flags = SecurityPermissionFlag::UnmanagedCode)]
   virtual bool PreFilterMessage( Message % m )
   {

      // Blocks all the messages relating to the left mouse button.
      if ( m.Msg >= 513 && m.Msg <= 515 )
      {
         Console::WriteLine( "Processing the messages : {0}", m.Msg );
         return true;
      }

      return false;
   }

};

Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
See Also

Reference

Tags :


Page view tracker