2012-12-10 18 views
6

Mir ist bekannt, wie man mit mouse_event einen Mausklick für die linke oder rechte Taste simuliert. Was ich gerne wissen würde, ist, ob diese Funktion oder eine andere in C#/C++ Ihnen erlaubt, die Maus 4 oder Maus 5 Tasten zu simulieren, die Gaming Mäuse haben?Mausklick für Seitentasten simulieren

+0

ich denke, es an der Maus hängt .. alle Mäuse wie diese habe ich verwendet setzen ihre Tasten handle als ob sie andere Tastatursteuerungen (etc.) wären Ich glaube nicht, dass du den Hintergrundcode dafür auf einer öffentlichen Domain finden wirst .. (es sei denn, Mäuse Entwickler haben eine SDK) – Sayse

+0

Windows Forms? WPF? Silverlight? etc.? –

+0

Ich verwende Windows-Formulare, aber die Simulation, die ich brauche, übergibt keine zusätzlichen Parameter an meine eigenen Funktionen. Es soll an externe Anwendungen gesendet werden. – John

Antwort

0

Sie könnten eine RAWINPUT Struktur erstellen und sie mit der WM_INPUT Windows-Nachricht an das Fenster senden.

WM_INPUT reference
RAWINPUT reference
RAWINPUT P/Invoke reference

Speifically, benötigen Sie einen RAWMOUSE Struktur für in der RAWINPUT Gebrauch zu erstellen. Das Feld kann Informationen bezüglich der 4. und 5. Maustaste enthalten.

RAWMOUSE reference
RAWMOUSE P/Invoke reference
RAWMOUSEBUTTONS Enumeration P/Invoke reference

Die genaue Implementierung Sie ist abhängig von der Zielanwendung und Plattform verwenden müssen. Möglicherweise müssen Sie das Fenster für die unbearbeitete Eingabe registrieren, bevor es WM_INPUT Nachrichten erhält.

1

mouse4 und mouse5 in Fenster sind xbutton1 und xbutton2

namens

Sie diese verwenden können:

mouse_event(MOUSEEVENTF_XDOWN, NULL, NULL, XBUTTON1, NULL); 
mouse_event(MOUSEEVENTF_XDOWN, NULL, NULL, XBUTTON2, NULL); 
mouse_event(MOUSEEVENTF_XUP, NULL, NULL, XBUTTON1, NULL); 
mouse_event(MOUSEEVENTF_XUP, NULL, NULL, XBUTTON2, NULL);