Warum erhält meine App keine Meldungen zum Neigen des Mausrads?

In dieser FrageSo erkennen Sie die Neigung des Mausrads Es wird eine Antwort gesendet und akzeptiert, die den benötigten Code enthält.

Ich habe diesen Code in die vorhandene Anwendung implementiertWndProc Methode (die für andere Nachrichten funktioniert, die ich abfangen muss), funktioniert aber nicht. Ich habe geprüft undWndProc scheint überhaupt keine Nachrichten zu erhalten, geschweige denn Nachrichten mit einem Wert von0x020E wenn ich das Mausrad neige.

Ich verwende einen Microsoft Wireless Laser 5000 unter Windows XP SP3 (vollständig gepatcht) mit installiertem .NET 3.5 SP1.

Ich habe meine Intellipoint-Treiber auf die Version 7.0.258.0 vom 08.05.2009 aktualisiert.

Andere Anwendungen (z. B. Visual Studio, Word, paint.NET) reagieren darauf, dass das Mausrad gekippt wird. Dies muss also meine Anwendung sein, aber ich kann nicht erkennen, was ich falsch mache.

Der Vollständigkeit halber hier mein Code:

    protected override void WndProc(ref Message m)
    {
        Trace.WriteLine(string.Format("0x{0:X4}", m.Msg));
        switch(m.Msg)
        {
            case WM_EXITSIZEMOVE:
                Opacity = 1.0;
                break;
            case WM_SYSCOMMAND:
                int command = m.WParam.ToInt32() & 0xfff0;
                if (command == SC_MINIMIZE && this.minimizeToTray)
                {
                    MinimizeToTray();
                }
                break;
            case WM_MOUSEHWHEEL:
                // Handle tilting here
                break;
        }
        base.WndProc(ref m);
    }

DasTrace.WriteLine Anruf ist ein Versuch zu überprüfen, ob die Tilt-Nachrichten durchkommen. Die anderen NachrichtenWM_EXITSIZEMOVE undWM_SYSCOMMAND empfangen werden. Die Nachrichten sind wie folgt definiert:

    private const int WM_EXITSIZEMOVE = 0x0232;
    private const int WM_SYSCOMMAND = 0x0112;
    private const int SC_MINIMIZE = 0xF020;
    private const int WM_MOUSEHWHEEL = 0x020E;

HINWEIS Ich habe das [hardware] -Tag entfernt, da ich zu 99% sicher bin, dass nicht die Hardware schuld ist, da andere Anwendungen die Nachrichten empfangen.

AKTUALISIEREN

Ich habe meiner Anwendung ein mehrzeiliges Textfeld mit Bildlaufleisten hinzugefügt, das Meldungen zum Neigen des Mausrads empfängt und darauf reagiert. Also muss ich nur den Code dafür finden;)

AKTUALISIEREN

Diese Frage on SuperUser hat möglicherweise einen Einfluss darauf - ich werde die Antworten dort im Auge behalten.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage