C#Autoclicker Visual Studio

C#Autoclicker Visual Studio,c#,visual-studio,C#,Visual Studio,我使用Visual Studio制作了一个带有C#的autoclicker,用于个人学习 它在某种程度上是有效的,但下面解释了一个令人沮丧的问题,无论我做什么,我都无法解决。我对代码进行了各种编辑,现在它也应该在自己的线程上运行。作为最后的手段,我浏览了其他开源自动点击工具,并从它们的代码中寻找提示,但没有任何效果 这里有一个快速视频剪辑。(当我打开autoclicker并将鼠标悬停在任何下拉菜单上时,它就会开始执行此操作)。时间间隔无关紧要,它会正常点击其他所有东西,这些下拉菜单会导致问题

我使用Visual Studio制作了一个带有C#的autoclicker,用于个人学习

它在某种程度上是有效的,但下面解释了一个令人沮丧的问题,无论我做什么,我都无法解决。我对代码进行了各种编辑,现在它也应该在自己的线程上运行。作为最后的手段,我浏览了其他开源自动点击工具,并从它们的代码中寻找提示,但没有任何效果

这里有一个快速视频剪辑。(当我打开autoclicker并将鼠标悬停在任何下拉菜单上时,它就会开始执行此操作)。时间间隔无关紧要,它会正常点击其他所有东西,这些下拉菜单会导致问题

下面是整个Visual Studio项目,希望有兴趣的人可以看看:

这里的代码也适用于那些没有时间下载整个项目的人。我为缺少注释和混淆变量名而道歉。这是我在C#的第一个项目之一,我想完成它来扩展我的知识


提前谢谢。

我刚刚对您的代码进行了简要的研究,您这里似乎有很多循环, 这就解释了单击“开始”按钮后的单击

private void MouseClicker()
    {
        int i = 0;
        while (true)
        {
            Thread.Sleep(100);
            while (threadStatus)
            {
                if (repeatTimes)
                {
                    while (startbutton.Enabled == false)
                    {
                        int x = Cursor.Position.X;
                        int y = Cursor.Position.Y;
                        mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, x, y, 0, 0);
                    }
                }
                else if (randomInterval)
                {
                    while (startbutton.Enabled == false)
                    {
                        int li = Convert.ToInt32(Math.Round(lowerintervalvalue.Value, 0));
                        int hi = Convert.ToInt32(Math.Round(higherintervalvalue.Value, 0));
                        int x = Cursor.Position.X;
                        int y = Cursor.Position.Y;
                        mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, x, y, 0, 0);
                        Random rand = new Random();
                        Thread.Sleep(rand.Next(li, hi));
                    }
                }
            }
        }
    }
您需要此方法中的逻辑,以使单击次数不超过窗口中设置的重复次数