다음을 통해 공유


Application.RemoveMessageFilter(IMessageFilter) 메서드

정의

애플리케이션의 메시지 펌프에서 메시지 필터를 제거합니다.

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)

매개 변수

value
IMessageFilter

애플리케이션에서 제거할 IMessageFilter를 구현한 것입니다.

예제

메시지 필터를 사용하려면 먼저 인터페이스에 대한 구현을 IMessageFilter 제공해야 합니다. 다음 클래스는 .라는 TestMessageFilter메시지 필터를 만듭니다. 이 필터는 마우스 왼쪽 단추와 관련된 모든 메시지를 차단합니다.

// 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.
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

설명

메시지를 디스패치하기 전에 더 이상 Windows 캡처하지 않으려면 메시지 필터를 제거할 수 있습니다.

적용 대상

추가 정보