Freigeben über


Application.AddMessageFilter-Methode

Fügt einen Meldungsfilter zum Überwachen von Windows-Meldungen beim Weiterleiten an das Ziel hinzu.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
Public Shared Sub AddMessageFilter ( _
    value As IMessageFilter _
)
'Usage
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
)

Parameter

  • value
    Die Implementierung der zu installierenden IMessageFilter-Schnittstelle.

Hinweise

Verwenden Sie einen Meldungsfilter, wenn bestimmte Ereignisse nicht ausgelöst bzw. bestimmte Vorgänge ausgeführt werden sollen, bevor diese einem Ereignishandler übergeben werden. Meldungsfilter sind für jeden bestimmten Thread eindeutig.

Um das Versenden einer Meldung zu verhindern, muss die value-Parameterinstanz, die an diese Methode übergeben wird, die PreFilterMessage-Methode mit dem Code für die Meldungsbehandlung überschreiben. Die Methode muss false zurückgeben.

Warnung

Das Hinzufügen von Meldungsfiltern zum Nachrichtensystem für eine Anwendung kann die Leistung beeinträchtigen.

Beispiel

Im folgenden Codebeispiel wird ein Meldungsfilter mit dem Namen TestMessageFilter erstellt. Dieser Filter blockiert alle Meldungen, die der linken Maustaste zugeordnet sind. Bevor Sie einen Meldungsfilter verwenden können, müssen Sie eine Implementierung für die IMessageFilter-Schnittstelle bereitstellen.

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

Plattformen

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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

Application-Klasse
Application-Member
System.Windows.Forms-Namespace