我最近制作了这个小型 Windows 窗体应用程序:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace Spammer
{
public partial class Form1 : Form
{
Thread t1;
int delay, y = 1;
public Form1()
{
t1 = new Thread(send);
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
delay = int.Parse(textBox2.Text);
t1.Start();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
y = 0;
}
private void send()
{
while (y == 1)
{
String textt = textBox1.Text;
Thread.Sleep(delay);
SendKeys.SendWait(textt);
}
}
private void label1_Click(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
}
}
现在,它看起来像这样:
它有一个延迟文本框、一个要发送的文本文本框和 2 个按钮:开始和停止。
现在,我尝试运行它并将延迟设置为 1000 毫秒。
当我按下“停止”按钮时,它完全停止并且不再发送消息。
但是,当我输入延迟非常小的延迟(例如 100 毫秒)时,按下“停止”不会做任何事情。点击它甚至有点困难,即使我点击它也不会停止发送消息。
为什么是这样?我能以某种方式解决它吗?