다음을 통해 공유


Application.AddMessageFilter 메서드

Windows 메시지가 대상 위치로 라우팅될 때 해당 메시지를 모니터링하기 위해 메시지 필터를 추가합니다.

네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)

구문

‘선언
Public Shared Sub AddMessageFilter ( _
    value As IMessageFilter _
)
‘사용 방법
Dim value As IMessageFilter

Application.AddMessageFilter(value)
public static void AddMessageFilter (
    IMessageFilter value
)
public:
static void AddMessageFilter (
    IMessageFilter^ value
)
public static void AddMessageFilter (
    IMessageFilter value
)
public static function AddMessageFilter (
    value : IMessageFilter
)

매개 변수

  • value
    설치하려는 IMessageFilter 인터페이스를 구현한 것입니다.

설명

특정 이벤트가 발생하지 않도록 하거나 이벤트가 이벤트 처리기로 전달되기 전에 이벤트에 대한 특수 작업을 수행하려면 메시지 필터를 사용합니다. 메시지 필터는 스레드마다 고유합니다.

메시지가 디스패치되지 않도록 하려면 이 메서드에 전달한 value 매개 변수 인스턴스가 PreFilterMessage 메서드를 메시지를 처리하기 위한 코드로 재정의해야 합니다. 해당 메서드는 false를 반환해야 합니다.

경고

응용 프로그램에 대한 메시지 펌프에 메시지 필터를 추가하면 성능이 저하될 수 있습니다.

예제

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

// Creates a  message filter.
public class TestMessageFilter implements IMessageFilter
{
    /** @attribute SecurityPermission(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)
     */
    public boolean PreFilterMessage(
        /**@ref
         */
        Message m)
    {
        // Blocks all the messages relating to the left mouse button.
        if (m.get_Msg() >= 513 && m.get_Msg() <= 515) {
            Console.WriteLine("Processing the messages : " + m.get_Msg());
            return true;
        }
        return false;
    } //PreFilterMessage
} //TestMessageFilter

.NET Framework 보안

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

Application 클래스
Application 멤버
System.Windows.Forms 네임스페이스