Я создал простой тест с SendKeys и попробовал и SendWait, и Отправить.
Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
System.Threading.Thread.Sleep(10000)
SendKeys.SendWait("If you can read this, it works." + "{ENTER}")
End Sub
Я протестировал в скайпе и нескольких удвоенных букв. Я протестировал в Flash, я получил "Iffff yyouu cccaaaannn rrreaaaddd thhhiiisss, iiittt wwwooorrrrkkks".
Очевидно проблема вызывается задержкой. Что я могу сделать для предотвращения удвоения (или утроение) букв? Я, вероятно, пропускаю что-то большое здесь...
В настройках вашего приложения ( app.config
в решении Visual Studio или
, если он расположен рядом с приложением), добавьте следующее в качестве дочернего элемента
элемента:
<appSettings>
<add key="SendKeys" value="SendInput"/>
</appSettings>
Если это не сработает, попробуйте:
<appSettings>
<add key="SendKeys" value="JournalHook"/>
</appSettings>
Источник: SendWait () [MSDN]
"... В результате класс SendKeys может вести себя по-разному в разных операционных системах ..."