0

最近、この小さな 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 つのボタン (開始と停止) があります。

今、私はそれを実行して、遅延を 1000ms に設定してみました。

「停止」ボタンを押すと、完全に停止し、メッセージが送信されなくなります。

しかし、たとえば 100 ミリ秒などの非常に小さな遅延を遅延に入力すると、[停止] を押しても何も起こりません。クリックするのも少し難しく、クリックしてもメッセージの送信が停止しません。

どうしてこれなの?そしてどうにか解決できないでしょうか?

4

1 に答える 1

0

わかりました、皆さん、助けてくれてありがとう!

現在、GUI タイマーを使用していますが、問題なく動作します。

于 2013-10-21T14:35:21.363 に答える