Программа непредсказуемо нажимает клавиши
Я хотел создать программу для игры, чтобы в ее чат отправлять определенное сообщение с заданным промежутком. У меня есть такой метод:
private async Task WriteThis(string msg, int timeDelay)
{
isWriting = true;
await Task.Delay(5000);
while (isWriting)
{
Process[] processes = Process.GetProcessesByName("Stalcraft");
foreach (Process proc in processes)
{
SendKeys.SendWait("{ENTER}");
await Task.Delay(1000);
SendKeys.SendWait(msg);
await Task.Delay(1000);
SendKeys.SendWait("{ENTER}");
await Task.Delay(timeDelay*1000);
}
}
}
а также метод для кнопки старта
private async void button1_Click(object sender, EventArgs e)
{
var task = WriteThis(textBox1.Text, Convert.ToInt32(textBox2.Text));
await task;
}
Но когда я протестировал ее, то увидел, что иногда программа делает все правильно, а иногда просто не открывает чат на Enter и прожимает клавиши из которых состоит msg. Как исправить код, чтобы он работал корректно? Может я допустил какие-то недочеты?