メッセージが送信されるたびにそれをカウントしてステータスを設定するコードがあります。シンプルですが、関数にメッセージを送信するための呼び出しをいくつか追加したため、高速になり、この例では 4 つのメッセージごとにカウントされているため、明らかにカウントがオフになっています。
private void messagespam_worker_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 1; i < numericUpDown1.Value; i++)
Invoke((MethodInvoker)delegate
{
foreach (Chat chat in skype.Chats)
{
if (messagespam_bool == false)
{
numericUpDown1.Value = 0;
break;
}
try
{
toolStripStatusLabel3.Text = "- Sent: " + i; // Where the status is changed
String contact = listBox1.SelectedItem.ToString();
skype.SendMessage(contact, textBox7.Text); //1st message
skype.SendMessage(contact, textBox7.Text); //2nd message
skype.SendMessage(contact, textBox7.Text); //3rd message
skype.SendMessage(contact, textBox7.Text); //4th message
}
catch (Exception error)
{
MessageBox.Show(error.Message);
}
break;
}
});
}
メッセージを送信するたびに上記のコードをカウントしたいと思います。
skype.SendMessage(contact, textBox7.Text); //1st message
skype.SendMessage(contact, textBox7.Text); //2nd message
skype.SendMessage(contact, textBox7.Text); //3rd message
skype.SendMessage(contact, textBox7.Text); //4th message
メッセージ 1 が送信されるとステータスが 1 に設定され、メッセージ 2 が送信されるとステータスが 2 に設定されます。