sendkeys VB.NET, lettere duplicate?
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 ...
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 ... "