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

Проверил в скайпе, некоторые буквы двоились. Я проверил во Flash, я получил "Iffff yyouu cccaaaannn rrreaaaddd thhhiiisss,,, iiiittt wwwooorrrrkkks".

Ясно, что проблема вызвана задержкой. Что я могу сделать, чтобы предотвратить удвоение (или утроение) букв? Я, наверное, пропустил что-то большое здесь ...


person Cyclone    schedule 27.02.2010    source источник


Ответы (2)


В настройках вашего приложения (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 может вести себя по-разному в разных операционных системах..."

person Brian Webster    schedule 27.02.2010

Не отлаживать.

В моем случае отладчик Visual Studio мешал.

Запуск программы в выпуске, а не отладка, дал мне предполагаемое поведение, в то время как его подключение или конфигурация отладки дублировали вывод.

person Noman_1    schedule 02.10.2020