我制作了C#全局鼠标钩子,它运行良好,我正在使用它作为自动点击器,当按下鼠标时自动点击。显然,我使用鼠标钩来制作它,但现在我的自动点击仅点击一次并停止。我想我知道为什么会这样,但我不知道如何修复它,但这里是代码:
private void OnMouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
label8.Text = "true";
clicker.Enabled = true;
}
}
private void OnMouseUp(object sender, MouseEventArgs e)
{
label8.Text = "false";
clicker.Enabled = false;
}
private void clicker_Tick(object sender, EventArgs e)
{
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
}
我认为发生的是:它检测到鼠标已关闭,并启用计时器。然后它运行clicker_Tick
,这会使mouse_event
模拟鼠标向下和鼠标向上,当鼠标启动时,mousehook会检测到它并执行:clicker.Enabled = false;
答案 0 :(得分:1)
您的代码正在执行LEFTUP
命令,该命令将触发OnMouseUp
事件并最终停用代码。
因此,您应该使用另一个键来停止滚动条,例如用鼠标右键停止:
private void OnMouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
label8.Text = "false";
clicker.Enabled = false;
}
}