C#Autoclicker Visual Studio

时间:2016-11-05 11:53:24

标签: c# visual-studio

我使用Visual Studio为CBS做了一个autoclicker用于个人学习目的。

它以某种方式起作用但是下面解释了一个令人沮丧的问题,无论我做什么,我都无法解决。我已对代码进行了各种编辑,现在它也应该在它自己的线程上运行。作为最后的手段,我通过其他开源自动加密器检查了他们的代码提示,但没有任何效果。

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

https://gfycat.com/ContentGreedyFoal

这是整个Visual Studio项目,适合那些善于观察的人: https://drive.google.com/file/d/0B36Lvz9TiOAWNF80cVVXWnRjeHM/view?usp=sharing

这里的代码也适用于那些没有时间下载整个项目的人。我为缺乏评论和令人困惑的变量名称而道歉。这是我在C#中的第一个项目之一,我想完成它以扩展我的知识。

http://pastebin.com/M1SiL9Rh

提前致谢。

1 个答案:

答案 0 :(得分:2)

我只是简要介绍一下你的代码,你似乎在这里有很多循环, 这解释了单击“开始”按钮后单击的步骤。

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));
                    }
                }
            }
        }
    }

您需要在此方法中使用逻辑,而不是单击窗口中设置的重复次数。