public void ProgressiveClick() { // 靴アイコンは1113, 250 sender.Click(1113, 250); }
public MessageClient(IntPtr flashHandle, Config config) { sender = new MessageSender(flashHandle); cts = new CancellationTokenSource(); token = cts.Token; // タスクの初期化 if (!(config.DontClick)) { clickTask = Task.Factory.StartNew(() => { while (true) { sender.Click(900, 320); var interval = 1000 / config.ClickInterval; Thread.Sleep(interval); try { if (token.IsCancellationRequested) { token.ThrowIfCancellationRequested(); } } catch (OperationCanceledException) { return; } } }, token, TaskCreationOptions.None, TaskScheduler.Default ); } capturingTask = Task.Factory.StartNew(() => { while (true) { using (var screen = ScreenCapture.GrayCapture(flashHandle)) { var recognizers = new ImageRecognitionBase[] { new Clickable(), }; foreach (var recognizer in recognizers) { if (recognizer.Check(screen)) { sender.Click(recognizer.X, recognizer.Y); } } } try { if (token.IsCancellationRequested) { token.ThrowIfCancellationRequested(); } } catch (OperationCanceledException) { return; } Thread.Sleep(15000); } }, token, TaskCreationOptions.None, TaskScheduler.Default ); }