如何使用程序控制微信发送消息

简介

使用杨中科老师的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文件执行项目

然后在弹窗中输入次数和内容就会自动执行程序了

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃香蕉的阿豪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值