Application.AddMessageFilter(IMessageFilter) Método

Definição

Adiciona um filtro de mensagem para monitorar mensagens do Windows à medida que elas são direcionadas para seus destinos.

public static void AddMessageFilter (System.Windows.Forms.IMessageFilter value);

Parâmetros

value
IMessageFilter

A implementação da interface IMessageFilter que você deseja instalar.

Exemplos

O exemplo de código a seguir cria um filtro de mensagem chamado TestMessageFilter. Esse filtro bloqueia todas as mensagens relacionadas ao botão esquerdo do mouse. Antes de usar um filtro de mensagem, você deve fornecer uma implementação para a IMessageFilter interface.

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

Comentários

Use um filtro de mensagem para impedir que eventos específicos sejam acionados ou para executar operações especiais para um evento antes que ele seja passado para um manipulador de eventos. Os filtros de mensagem são exclusivos para um thread específico.

Para impedir que uma mensagem seja enviada, a value instância de parâmetro que você passa para esse método deve substituir o PreFilterMessage método com o código para lidar com a mensagem. O método deve retornar false.

Atenção

Adicionar filtros de mensagem à bomba de mensagem para um aplicativo pode prejudicar o desempenho.

Aplica-se a

Produto Versões
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7