c#在没有控件的情况下检测鼠标按下

问题描述 投票:0回答:1

我是C#的新手,并希望编写一个游戏的点击bot,当我按住鼠标按钮时应单击它,而在释放鼠标按钮时应停止单击。现在,我的问题是如何检查是否按住了鼠标按钮并在我进入另一个窗口时单击。

c# winforms mouseevent
1个回答
0
投票

您可以添加消息过滤器:

Application.AddMessageFilter(new MyMessageFilter());

其中MyMessageFilter是实现IMessageFilter的类。示例:

class MyMessageFilter : IMessageFilter
{
    public bool PreFilterMessage(ref Message m)
    {
        const int WM_LBUTTONDOWN = 0x0201, WM_LBUTTONUP = 0x0202;

        switch (m.Msg) {
            case WM_LBUTTONDOWN:
                System.Diagnostics.Debug.WriteLine("Left button down " + DateTime.Now);
                return false;
            case WM_LBUTTONUP:
                System.Diagnostics.Debug.WriteLine("Left button up " + DateTime.Now);
                return false;
        }
        return false;
    }
}

在这里,您可以找到Mouse Input Notifications的参考。

© www.soinside.com 2019 - 2024. All rights reserved.