写了一个连点器分享一下
用的c#,做了一个简单的界面,当然不要界面实现更简单。需求是连点鼠标左键,有时间 间隔的点击。
界面是这个样子的:
简单的介绍一下:在点击开始后2秒才会自动点击鼠标,这个是我设置的缓冲时间。点击开始后把鼠标放在测试按钮上你会看到程序的直观效果。点击默认的次数是50次,时间间隔是0.1秒点击一次。
代码部分
那个c#的form的图形制作我就不说啦。会的都会。
下面是我的源代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class automouse : Form
{
int count = 0;
[System.Runtime.InteropServices.DllImport("user32")]
private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
const int MOUSEEVENTF_LEFTDOWN = 0x0002; //模拟鼠标左键按下
const int MOUSEEVENTF_LEFTUP = 0x0004; //模拟鼠标左键抬起
const int MOUSEEVENTF_RIGHTDOWN = 0x0008; //模拟鼠标右键按下
const int MOUSEEVENTF_RIGHTUP = 0x0010; //模拟鼠标右键抬起
public automouse()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//3秒延时
Thread.Sleep(2000);
int num=0;
int stime = 100;
//获取点击时间间隔
if (textBox2.Text == null || textBox2.Text == "") { stime = 100; }
else stime = int.Parse(textBox2.Text);
//获取点击次数
if (textBox1.Text == null || textBox1.Text=="") { num = 0; }
else num=int.Parse(textBox1.Text);
//通过Lambda表达式创建线程,点击
Thread thread2 = new Thread(() =>
{
for (int i = 0; i < num; i++)
{
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Thread.Sleep(stime);
}
});
//线程开始
thread2.Start();
}
private void button3_Click(object sender, EventArgs e)
{//用于测试按钮
count++;
label3.Text = count.ToString();
}
}
}
简单的说一下
想要实现鼠标调用就要调用window的一个动态包user32.dll:ta在C:\Windows\System32下.调用的语句是下面两行,直接拿过来就好了。
[System.Runtime.InteropServices.DllImport("user32")]
private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
然后就是线程的使用,其实是没有必要的。但要做个测试的话有ta才比较“流畅”。我的界面有一个测试按钮,因为它我才写的线程。
核心代码就是下面这个。每隔stime毫秒点击一次鼠标左键。
for (int i = 0; i < num; i++){
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Thread.Sleep(stime);
}
这个程序会在点击开始2秒后自动点击鼠标左键。
这个是我写好生成的exe文件:exe文件
最后
我自己很菜,写的东西也觉得垃圾,所以我喜欢接受好的建议,但拒绝嘲讽。