我正在开发我的第一个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”键。