Frage von pascal870, 31

Visual Basic SendKeys. Buchstaben langsamer senden?

Hallo,

ich arbeite in Visual Basic mit den SendKeys. Nun ist meine frage ob man die einzelnen Buchstaben die ich Sende (SendKeys.Send("Test")) verlangsamt gesendet werden.

Ich hoffe die Frage wurde verstanden wenn nicht einfach fragen.

Antwort
von valvaris, 28

Pack "Test" in eine Variable und sende es Zeichenweise (mit Split und einer for-Schleife) und dahinter immer eine Sleep-Funktion. Definition für Sleep: Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Kommentar von CrystalixXx ,

... oder einfach System.Threading.Thread.Sleep(...).

Kommentar von pascal870 ,

Okay, kannst du das etwas einfacher erklären. Bin nicht sehr erfahren darin. 

Kommentar von valvaris ,

Dim text As String = "test";

For Each zeichen As String In text.Split("")

SendKeys.Send(zeichen);

System.Threading.Thread.Sleep(500);

Next

Kommentar von pascal870 ,

Ah okay! Vielen Dank. Ich werde es mal Probieren

Kommentar von valvaris ,

Ich hab schon jahrelang kein Visual Basic mehr Programmiert und bin nicht ganz sicher, ob das Thread.Sleep da eine Angabe in Milllisekunden oder Sekunden ist

und ob der Thread da einfach die ganze Anwendung blockiert oder ob das Formular weiterarbeitet wie es bei DoEvents der Fall ist.

Kommentar von pascal870 ,

Achso, ich habe auch das Problem das manche Keys nicht gesendet werden z.b {ENTER}

Kommentar von valvaris ,

Enter ist auch "\r\n"

Kommentar von valvaris ,

Sachen mit {} werden in dem Fall natürlich dann auch zeichenweise gesendet.

Alternativ kannst du auch schreiben 

Dim text As String[] = new[] String ("test","test2","{RETURN}");

For Each zeichen As String In text

....

Aber das ist zu lange her, falls es nicht so geht, musst du mal schauen, wie die Syntax beim zuweisen von mehrdimensionalen Arrays war.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten