I created a simple test with SendKeys, and tried both SendWait and 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
I tested in skype, and a few of the letters doubled. I tested in Flash, I got "Iffff yyouu cccaaaannn rrreaaaddd thhhiiisss,,, iiittt wwwooorrrrkkks."
Clearly the issue is caused by lag. What can I do to prevent doubling (or tripling) of letters? I'm probably missing something big here...
In your app settings (app.config
in a Visual Studio solution, or <myapp>.exe.config
when located side by side to the application), add the following as child of the <configuration>
element:
<appSettings>
<add key="SendKeys" value="SendInput"/>
</appSettings>
If that doesn't work, try:
<appSettings>
<add key="SendKeys" value="JournalHook"/>
</appSettings>
Source: SendWait() [MSDN]
"... As a result, the SendKeys class may behave differently on different operating systems ..."
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With