简介
使用杨中科老师的nuget包NetAutoGUI,控制微信给指定用户发送消息,如果想下面视频一样使用此功能用来轰炸朋友,可以直接跳到最后一节,或者直接下载我的打包好的程序集
【免费】控制微信发送消息的程序资源-CSDN文库
微信轰炸
安装nuget包
我们使用杨中科老师封装好的nuget包
NuGet Gallery | NetAutoGUI.Windows 1.0.11
🍀首先我们创建一个控制台项目,然后右键项目,选择属性,将目标os设置为windows
🍀 然后通过下面命令nuget安装nuget包
NuGet\Install-Package NetAutoGUI.Windows -Version 1.0.11
或者直接在nuget包管理器中搜索NetAutoGUI.Windows
🍀注意如果没有设置好面向操作系统为windows则会报下面异常
🍀如果使用的工具是Rider,同理右键项目=>设置 选择Target framework为windows版本
基于截图对页面就行模糊匹配
🍀首先将右下角的微信图标截取下来
🍀截取下来的图标,保存到当前项目下,注意要设置为复制到输出目录,不然启动项目的时候会找不到图片报错
代码解读
🍀查看当前有没有title为微信的应用在任务栏中
Window? w = GUI.Application.FindWindowByTitle("微信");
🍀如果w为null,则看系统托盘有没有微信图标wx_icon(也就是刚刚截图的图标),有的话通过GUI.Mouse来双击打开
if (w == null)
{
//在屏幕上寻找此元素
var rectWiIcon = GUI.Screenshot.LocateOnScreen("wx_icon.png");
if (rectWiIcon == null)
{
Console.WriteLine("微信托盘图标没找到!");
return;
}
else
{
//通过找到图标的坐标点击图标打开微信
GUI.Mouse.Click(rectWiIcon.X,rectWiIcon.Y);
//然后重新获取程序
w = GUI.Application.WaitForWindowByTitle("微信");
}
}
🍀如果w不为null,那么直接通过w.Activate()打开微信窗口。
else
{
w.Activate();
}
🍀同理,我们将微信搜索图标也截取下来
🍀然后通过下面代码,找到该图标,搜索微信团队,再模拟按键敲击回车发送消息过去
w.WaitAndClick("shousuo.png",0.9);
GUI.Keyboard.Write("微信团队");
//输入文字后等待个500毫秒再按回车,不然微信反应不过来
Thread.Sleep(500);
GUI.Keyboard.Press(VirtualKeyCode.RETURN);
Thread.Sleep(500);
GUI.Keyboard.Write("发送的内容");
//模拟回车发送消息
GUI.Keyboard.Press(VirtualKeyCode.RETURN);
🐳整体代码如下
class Program
{
public static void Main(string[] args)
{
Window? w = GUI.Application.FindWindowByTitle("微信");
if (w == null)
{
//在屏幕上寻找此元素
var rectWiIcon = GUI.Screenshot.LocateOnScreen("wx_icon.png", 0.6);
if (rectWiIcon == null)
{
Console.WriteLine("微信托盘图标没找到!");
return;
}
else
{
//通过找到图标的坐标点击图标打开微信
GUI.Mouse.Click(rectWiIcon.X, rectWiIcon.Y);
//然后重新获取程序
w = GUI.Application.WaitForWindowByTitle("微信");
}
}
else
{
w.Activate();
}
w.WaitAndClick("shousuo.png",0.9);
GUI.Keyboard.Write("微信团队");
//输入文字后等待个500毫秒再按回车,不然微信反应不过来
Thread.Sleep(500);
GUI.Keyboard.Press(VirtualKeyCode.RETURN);
Thread.Sleep(500);
GUI.Keyboard.Write("发送的内容");
//模拟回车发送消息
GUI.Keyboard.Press(VirtualKeyCode.RETURN);
}
}
恶搞轰炸
学废了,接下来我们来干点坏事。经过测试,如果用到截屏对窗口进行匹配的话,有可能会出现匹配出错的情况,并且搜索需要等待微信反应时间,我们将代码简化一下。直接实现定位到好基友的消息页面,然后跑程序轰炸他
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("请输入你要轰炸的次数!然后按下回车");
int count = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入你要发送的内容!然后按下回车");
string path = Console.ReadLine();
Window? w = GUI.Application.FindWindowByTitle("微信");
if (w == null)
{
//在屏幕上寻找此元素
Console.WriteLine("先打开微信");
return;
}
w.Activate();
for (int i = 0; i < count; i++)
{
GUI.Keyboard.Write(path);
GUI.Keyboard.KeyDown(VirtualKeyCode.RETURN);
}
}
}
效果演示
微信轰炸
如果本地没有c#的开发环境,也可以下载我打包好的程序集
【免费】控制微信发送消息的程序资源-CSDN文库
解压后双击.exe文件执行项目
然后在弹窗中输入次数和内容就会自动执行程序了