模拟侧面按钮的鼠标点击

7

我知道如何使用mouse_event来模拟左键或右键的鼠标点击。我想知道的是,C # / C ++中是否有此函数或其他函数可以模拟游戏鼠标所具有的鼠标4或鼠标5按钮?


我认为这取决于鼠标... 所有我用过的鼠标都将它们的按钮设置为像其他键盘控制一样进行操作,等等。我不认为你会在公共域中找到此背景代码..(除非鼠标开发人员有一个SDK) - Sayse
Windows Forms?WPF?Silverlight?等等? - myermian
我正在使用Windows表单,但我需要的模拟没有将额外参数传递给我的函数,而是要发送到外部应用程序。 - John
2个回答

3

mouse4mouse5在Windows中被命名为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);

0

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

WM_INPUT参考
RAWINPUT参考
RAWINPUT P/Invoke参考

具体来说,您需要创建一个RAWMOUSE结构,以在RAWINPUT内使用。 RAWMOUSEusButtonFlags字段可以包含有关第4和第5个鼠标按钮的信息。

RAWMOUSE 参考文档
RAWMOUSE P/Invoke 参考文档
RAWMOUSEBUTTONS 枚举类型 P/Invoke 参考文档

你需要使用的确切实现取决于目标应用程序和平台。在接收任何 WM_INPUT 消息之前,您可能需要为原始输入注册窗口。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接