Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Vb.net sendkeys, letters duplicate?

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...

like image 719
Cyclone Avatar asked Feb 27 '10 04:02

Cyclone


Video Answer


1 Answers

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 ..."

like image 186
Brian Webster Avatar answered Oct 12 '22 18:10

Brian Webster