Domanda

ho creato un semplice test con SendKeys, e provato sia SendWait e Invia.

 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

Ho provato a skype, e alcune delle lettere raddoppiato. Ho provato in Flash, ho ottenuto "Iffff yyouu cccaaaannn rrreaaaddd thhhiiisss ,,, iiittt wwwooorrrrkkks".

Chiaramente il problema è causato dal lag. Cosa posso fare per evitare che raddoppiare (o triplicare) delle lettere? Sono probabilmente manca qualcosa di grande qui ...

È stato utile?

Soluzione

In impostazioni dell'app (app.config in una soluzione Visual Studio, o <myapp>.exe.config quando trova fianco a fianco per l'applicazione), aggiungere il seguente come figlio dell'elemento <configuration>:

<appSettings>    
    <add key="SendKeys" value="SendInput"/>    
</appSettings> 

Se questo non funziona, provare:

<appSettings>    
    <add key="SendKeys" value="JournalHook"/>    
</appSettings> 

Fonte: SendWait () [MSDN ]

  

" ... Di conseguenza, la classe SendKeys   possono comportarsi in modo diverso su diversi   sistemi operativi ... "

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top