Visual Basic程序中的SendKeys.SendWait无法正常工作

时间:2016-12-04 08:26:37

标签: vb.net skype sendkeys skype4com

我正在开发我的第一个VB程序。该计划的主要任务是使用SendKeys发送Skype消息。

我设法成功发送邮件,但由于我需要使用System.Threading.Thread.Sleep(1000)来正确发送邮件,因此速度有点慢。如果我删除了Sleep(1000)函数,程序会开始做奇怪的事情,比如部分消息,一些对话框没有显示,最后Skype崩溃了,我无法输入任何内容。

问题:如何删除Sleep(1000)以便在没有如此大的暂停的情况下发送邮件?如果我有超过500个联系人,则需要很长时间。

我的代码:

 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

我不明白为什么它有时会发送部分消息,因为我使用SendKeys.SendWait应该等到消息文本被复制到对话框中然后发送“Enter”键。

0 个答案:

没有答案