Application.RemoveMessageFilter(IMessageFilter) Application.RemoveMessageFilter(IMessageFilter) Application.RemoveMessageFilter(IMessageFilter) Application.RemoveMessageFilter(IMessageFilter) Method

Definition

Entfernt einen Meldungsfilter aus dem Nachrichtensystem der Anwendung.Removes a message filter from the message pump of the application.

public:
 static void RemoveMessageFilter(System::Windows::Forms::IMessageFilter ^ value);
public static void RemoveMessageFilter (System.Windows.Forms.IMessageFilter value);
static member RemoveMessageFilter : System.Windows.Forms.IMessageFilter -> unit
Public Shared Sub RemoveMessageFilter (value As IMessageFilter)

Parameter

value
IMessageFilter IMessageFilter IMessageFilter IMessageFilter

Die Implementierung von IMessageFilter, die aus der Anwendung entfernt werden soll.The implementation of the IMessageFilter to remove from the application.

Beispiele

Bevor Sie einen Nachrichtenfilter verwenden können, müssen Sie eine Implementierung für die IMessageFilter -Schnittstelle bereitstellen.Before you can use a message filter, you must provide an implementation for the IMessageFilter interface. Mit der folgenden Klasse wird ein Nachrichtenfilter TestMessageFiltermit dem Namen erstellt.The following class creates a message filter called TestMessageFilter. Mit diesem Filter werden alle Nachrichten im Zusammenhang mit der linken Maustaste blockiert.This filter blocks all messages relating to the left mouse button.

// 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;
   }

};

// 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;
    }
}

' 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

Hinweise

Sie können einen Nachrichtenfilter entfernen, wenn Sie keine Windows-Meldungen mehr erfassen möchten, bevor Sie gesendet werden.You can remove a message filter when you no longer want to capture Windows messages before they are dispatched.

Gilt für:

Siehe auch