如何在不单击C#的情况下取消鼠标左键?

时间:2019-04-14 07:27:20

标签: c# winapi mouseevent mousekeyhook

我正在尝试编写应用,当用户长按鼠标左键时,它将发送右键单击。

我找到了https://github.com/gmamaladze/globalmousekeyhook项目,并用它钩了事件。

当我向左弯钩时,使用鼠标事件发送右键单击,首先触发左键单击,然后单击右键。

有什么方法可以取消鼠标左下压?

<input type="hidden" name="_token" id="token" value="{{ csrf_token() }}">

2 个答案:

答案 0 :(得分:0)

实际上,您不能执行此操作。问题是,在您调度鼠标右键时,鼠标左键已经被触发。您不能只回到过去。

答案 1 :(得分:0)

  

我正在尝试编写应用,当用户花费很长时间时,它将发送右键单击   按下鼠标左键。

您可以通过starting a timer开始记录接收到鼠标左键按下消息的时间。如果计时器超时,将发送WM_TIMER消息,并且您可以将match设置为true,以指示向左按下按钮的时间足够长。处理left mouse button up message时,请检查_rclick_activated是否为send right mouse button down event。收到鼠标右键按下消息后,发送鼠标右键按下事件。

下面的代码是Windows desktop API C++实现的一个简单示例。您可以用作参考。

_rclick_activated