У меня есть приложение Windows, где я использую, отправляют ключи для навигации от одного окна до другого. Мой отправлять сочетание клавиш похож на активацию другого окна с в моем приложении и отправке нажатий клавиш к тому окну. Но нажатия клавиш, которые я отправляю, становятся обновленными в том же окне, где я активирую другое окно.
Но после немногих нажатий клавиш это идет в другое окно. Кажется, что проблема synchonization с отправляет ключи. Есть ли способ указать, что операция тока отправляет, ключ закончен, прежде, чем отправить следующий sendkey.
Вы пробовали использовать SendKeys.SendWait . Это будет ждать, пока ключ будет отправлен, и действие будет обработано, прежде чем продолжить.
Поскольку окна находятся в вашем собственном приложении, почему бы вместо использования SendKeys не предоставить набор функций для выполнения действий.Функции могут создавать окно после того, как окна созданы и активны, что вы можете обнаружить, обработав событие Activated , затем вы можете использовать SendKeys для отправки нажатий клавиш в новое окно, если вам действительно нужно, в противном случае снова в классе окна есть функции, которые вы можете вызывать для выполнения операций, вызываемых нажатиями клавиш. Вероятно, вы могли бы определить общий интерфейс , который реализует ваши окна, чтобы облегчить это взаимодействие.