Vb.net sendkeys, буквы дублируются?
Я создал простой тест с SendKeys и попробовал как SendWait, так и Send.
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
Я тестировал в skype, и несколько букв удвоились. Я тестировал Flash, я получил "Iffff yyouu cccaaaannn rrreaaaddd thhhiiisss,, iiittt wwwooorrrrkkks".
Ясно, что проблема вызвана задержкой. Что я могу сделать, чтобы предотвратить удвоение (или утроение) букв? Мне, наверное, здесь что-то не хватает...
Ответы
Ответ 1
В настройках вашего приложения (app.config
в решении Visual Studio или <myapp>.exe.config
, когда они расположены рядом с приложением) добавьте следующее в качестве дочернего элемента <configuration>
:
<appSettings>
<add key="SendKeys" value="SendInput"/>
</appSettings>
Если это не работает, попробуйте:
<appSettings>
<add key="SendKeys" value="JournalHook"/>
</appSettings>
Источник: SendWait() [MSDN]
"... В результате класс SendKeys могут вести себя по-разному на разных операционные системы..."