Я думаю, что название объясняет то, что я прошу.C# Ждать отправки SendKeys для завершения отправки перед выполнением следующей строки кода?
Мне нужен SendKeys
, чтобы закончить отправку ключей до DoMouseClick
, или вся моя программа бесполезна.
// Simulate the keyboard typing the value of 'i'
SendKeys.SendWait(i.ToString());
// Simulate mouse click so the Accept button in-game is clicked
DoMouseClick();
Я попытался с помощью Thread.Sleep
, но я надеялся, что вы, ребята, были некоторые лучшие предложения о том, как исправить мою проблему.
Мы можем вычислить 'SendKeys' в другом потоке и' Join() 'эту тему. http://stackoverflow.com/questions/1584062/how-to-wait-for-thread-to-finish-with-net –
Я думал, что 'SendKeys' подождал, прежде чем вернуться? MSDN: _ «Использовать SendWait для отправки нажатий клавиш или комбинаций нажатий клавиш в активном приложении ** и дождаться обработки сообщений нажатия клавиши **. Вы можете использовать этот метод для отправки нажатий клавиш в приложение и ожидания любых процессов, которые начиная с нажатия клавиш, которые должны быть завершены. Это может быть важно, если другое приложение должно завершиться до того, как ваше приложение сможет продолжить.] (https://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys. sendwait (v = vs.110) .aspx) "_ – MickyD
Примерно в половине пути вниз по документации:' Кроме того, когда класс SendKeys использует новую реализацию, метод SendWait не будет ждать обработки сообщений, когда они будут отправлены другому обработать. ' – Xenolightning