Laden...

Auf zusätzliche Mausbuttons reagieren

Erstellt von can320 vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.104 Views
C
can320 Themenstarter:in
151 Beiträge seit 2006
vor 9 Jahren
Auf zusätzliche Mausbuttons reagieren

edit: Hat sich erledigt / einfach webbrowser wndproc überschrieben LParam zeigt die unterschiedlichen tasten an

Meine (Gamer)Maus hat mehr als nur 3 Maustasten. Wie kann ich abfragen, ob eine davon gedrückt wurde? Ich möchte die Tasten zum navigieren im Webbrowser verwenden (so wie in Firefox/Chrome Seitentasten für Webseite vor/zurück - wird von den Browsern automatisch erkannt)

private IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
  1. Der globale Mousehook empfängt als wParam.ToInt32() jedes mal 523 oder 524 hintereinander, sowohl bei der einen als auch bei der anderen taste. lParam sind auch oft gleich.

  2. WndProc geht leider nicht, da die messages vom Webbrowser geschluckt werden

  3. Control.MouseButtons liefert none

**Edit: **Lösung für alle die es interessiert:

    public class MyWebBrowser : WebBrowser
    {
        protected override void WndProc(ref Message m)
        {
            if (m.Msg == 793)
            {
                if (m.LParam.ToInt32().ToString() == "-2147352576")
                {
                    // Seitliche Maustaste vor
                }
                else  if (m.LParam.ToInt32().ToString() == "-2147418112")
                {
                    // Seitliche Maustaste zurück

                }
            }

            base.WndProc(ref m);
        }
    }
49.485 Beiträge seit 2005
vor 9 Jahren

Hallo can320,

es freut mich, dass du eine Lösung gefunden und vielen Dank, dass du sie hier geschrieben hast. Noch besser ist es, eigene Lösungen als Antwort zu posten, damit der Thread nicht mehr in den "Themen ohne Antwort" auftaucht. Durch diese Antwort ist das Ziel aber auch erreicht.

herbivore

4.939 Beiträge seit 2008
vor 9 Jahren

Hallo can320,

die Umwandlung nach String ist aber natürlich Kappes.
Und für die Zahlenwerte solltest du besser Konstanten oder Enums verwenden (anstatt Magic Numbers).

P
660 Beiträge seit 2008
vor 9 Jahren

Und für die Zahlenwerte solltest du besser Konstanten oder Enums verwenden (anstatt Magic Numbers).

Dazu als Ergänzung:
Magische Zahlen in Code

MfG
ProGamer*Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden! *"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht." *"Ignorance simplifies ANY problem." *"Stoppt die Piraterie der Musikindustrie"