Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Интервал и количество кликов!


Автор: igaiga3 22.4.2016, 18:53
Всем огромный привет!

Нуждаюсь в подсказке как заставить программу делать несколько кликов после первого. То есть первый клик будет выполнен один раз а второй например семь раз подряд тоже с интервалом. Прошу помощи так как еще совсем новичок. Пробовал и if и for конструкции но что-то делаю не так.

Вот эта та самая нерешенная задача:

Код

public Form1()
        {
            InitializeComponent();
            
        }
 
        public void Form1_Load(object sender, EventArgs e)
        {
            timer1.Start();
 
        }
 
        public void timer1_Tick(object sender, EventArgs e)
        {
            
            Point cursor = new Point();
            GetCursorPos(out cursor);
            int x = cursor.X;
            int y = cursor.Y;
            int i = cursor.X;
            int j = cursor.Y;
            label_X.Text = x.ToString();
            label_Y.Text = y.ToString();
            label_X2.Text = i.ToString();
            label_Y2.Text = j.ToString();
 
                if (GetAsyncKeyState(Keys.D6) == -32767)
                {
                    label_XXX.Text = x.ToString();
                    label_YYY.Text = y.ToString();
 
                }
 
                if (GetAsyncKeyState(Keys.D7) == -32767)
                {
 
                    label_XXX2.Text = i.ToString();
                    label_YYY2.Text = j.ToString();
                }
 
                if (GetAsyncKeyState(Keys.D8) == -32767)
                {
                        timer2.Enabled = true;
                        timer2.Interval = 5000;
                        timer3.Enabled = true;
                        timer3.Interval = 5000;
                   
                }
 
 
                if (GetAsyncKeyState(Keys.D5) == -32767)
                {
                    timer2.Stop();
                    timer3.Stop();
 
                }
           
        }
 
        public void timer2_Tick(object sender, EventArgs e)
        {
            
            int x = Convert.ToInt16(label_XXX.Text);
            int y = Convert.ToInt16(label_YYY.Text);
            Cursor.Position = new Point(x, y);
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            timer2.Stop();
        }
        
        public void timer3_Tick(object sender, EventArgs e)
        {
 
                int i = Convert.ToInt16(label_XXX2.Text);
                int j = Convert.ToInt16(label_YYY2.Text);
                Cursor.Position = new Point(i, j);
                mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
                mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            timer3.Stop();            
 
        }
 
    }
}



Так тоже не работает
Код

     for (int h = 0; h < 3; h++)
                    {

                        timer2.Enabled = true;
                        timer2.Interval = 3500;


                        timer3.Enabled = true;
                        timer3.Interval = 5000;

                        if (h == 3)
                        {
                            timer3.Stop();
                        }

                    }


пытаюсь написать автокликер с кликами по разным конкретным координатам, которые настраиваются в программе как мне нужно. сейчас хочу понять что нужно сделать чтобы второй клик (timer3) повторялся три раза подряд и затем Stop.

Автор: infarch 25.4.2016, 10:41
Что конкретно не работает? Таймеры, клики? Упростите задачу до самого минимума, так будет гораздо проще вычислить и описать проблему.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)