Реализация событий таймера, исходя по времени в массива

Рейтинг: 0Ответов: 0Опубликовано: 20.01.2023

У меня есть метод, который должен реализовывать нажатия в N время, находящееся в массиве. Пример кода:

public void Start()
{
    IntPtr AdofaiWindow = FindWindow(null, "A Dance of Fire and Ice");
    if (SetForegroundWindow(AdofaiWindow))
    {
        TimeInMsList[0] = 4750;
        SendKeys.SendWait("e");
        Task.Delay(TimeInMsList[0]).Wait();
        for (int i = 1; i < TimeInMsList.Length; i++)
        {
            System.Threading.Timer timer = new System.Threading.Timer(Click => { 
                SendKeys.SendWait("e"); 
            }, 0, 0, TimeInMsList[i]);
        }
        SendKeys.SendWait("e");
    }
}

Массив во время выполнения программы не изменяется. Программа работает, но события выполняется не раз в время, указанное в таймере, а моментально. В чем может быть проблема? Приложение консольное. Попытка поменять dueTime на TimeInMsList[i] заканчивается тем, что программа выполняет одно нажатие и завершает работу.

Ответы

Ответов пока нет.