SendKeys.SendWait in Visual Basic program not working properly

1k views Asked by At

I am developing my first VB program. The program's main task is to send Skype messages using SendKeys.

I managed to send messages successfully but it is kinda slow as I need to use System.Threading.Thread.Sleep(1000) to properly send messages. If I remove the Sleep(1000) function, the program starts to do weird things like partial messages, some dialogs not showing up and at the end Skype crashed and I couldn't type anything.

Problem: How to remove Sleep(1000) to send messages without such large pause? If I have more than 500 contacts it takes lot of time.

My code:

 Dim all() As String = System.IO.File.ReadAllLines(appPath)
 Dim message_text As String = TextBox1.Text

     If all.Length > 0 Then
           For i = 0 To all.Length - 1                     
                System.Threading.Thread.Sleep(1000)   '' < ---this line
                Skype.Client.OpenMessageDialog(all(i))    
                Skype.Client.Focus()
                SendKeys.SendWait(message_text + " - " + DateTime.Now.ToString())

                SendKeys.SendWait("{ENTER}")
                System.Threading.Thread.Sleep(100)
           Next

               MessageBox.Show("Ziņa nosūtīta Skype lietotājiem")
    Else

    End If

I don't understand why it sometimes sends just partial messages as I am using SendKeys.SendWait that should wait till message text is copied in dialog and then Sending "Enter" key.

0

There are 0 answers