2012-12-10 315 views
6

我知道如何使用mouse_event来模拟鼠标点击左键或右键。我想知道的是,如果C#/ C++中的这个函数或其他函数允许您模拟游戏鼠标具有的mouse4或mouse5按钮,模拟鼠标点击侧按钮

+0

我认为这取决于鼠标..所有的老鼠这样的我用他们的设置按钮,就好像它们是其他键盘控件(等等)我认为你不会在公有领域找到这样的背景代码..(除非鼠标开发人员拥有SDK) – Sayse

+0

Windows Forms? WPF? Silverlight的?等等。? –

+0

我正在使用Windows窗体,但我需要的模拟不是将额外的参数传递给我自己的函数。它将被发送到外部应用程序。 – John

回答

0

您可以创建一个RAWINPUT结构,并使用WM_INPUT窗口消息将其发送到窗口。

WM_INPUT reference
RAWINPUT reference
RAWINPUT P/Invoke reference

Speifically,你需要创建一个​​结构为RAWINPUT内使用。​​的usButtonFlags字段可以包含有关第4个和第5个鼠标按钮的信息。

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

确切的实施,你将需要使用取决于目标应用程序和平台。您可能需要注册该窗口以获取原始输入,然后才能收到任何WM_INPUT消息。

1

mouse4和Windows mouse5被命名为xbutton1xbutton2

您可以使用这些:

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);