(7)定时群发微信图文消息-微信UI自动化(.Net+C#)

整理 | 小耕家的喵大仙

出品 | CSDN(ID:lichao19897314)

Q Q | 978124155

 往期知识回顾: 

(1)C#开启探索微信自动化之路-微信UI自动化

(2)C#创建微信窗体自动化实例-微信UI自动化

(3)C#针对系统热键管理-微信UI自动化

(4)C#采集微信通讯录和联系人-微信UI自动化

(5)C#实现针对微信窗体鼠标静默点击-微信UI自动化

(6)C#搜索微信通讯录联系人-微信UI自动化

(7)C#实现微信消息群发-微信UI自动化

(8)C#监控微信进程运行状态-微信UI自动化

(9)C#监控微信网络连接状态-微信UI自动化

(11)C#实现微信窗体尺寸跟随调整-微信UI自动化

(12)C#采集微信聊天记录及历史消息-微信UI自动化

(13)C#实现自动回复微信消息-微信UI自动化

(14)C#针对微信界面元素截图操作-微信UI自动化

(15)C#实现对微信窗体的行为管控-微信UI自动化

(16)C#实现微信多开-微信UI自动化

(17)C#实现微信聊天文件接收及下载-微信UI自动化

👆 以上文章是以往对使用自动化技术操作微信的一些文章及案例!!!!

因为文章可能无法满足读者要求,如需源码和支持请联系本人 QQ 978124155 

本篇目的 

    有一位做外卖门店运营的朋友说他有10几家门店,每天需要在固定时间段提醒每个店的店长库存信息,库存信息存储在他自建的ERP系统中,ERP数据能自由获取,就是需要每天人工在每个点发送,有时候一忙或者不在电脑旁就忘记或者无法执行该项工作,所以针对该场景,本人决定基于微信自动化技术帮助他解放这项繁琐的工作。

    本篇实现的功能,通过查找微信搜素框搜索到对应的联系人,定位到联系人的聊天界面,将需要发送的内容输入到聊天界面的发送文本框,点击发送按钮,发送信息到对应联系人。

软件效果演示

自动发送消息

实现思路

(1)寻找到微信搜索框,将需要接受消息的联系人输入到搜索框中

(2)如果发现有对应的最优搜索结果,则选择第一个项进行点击操作

(3)定位到需要接受消息的联系人聊天界面,将需要发送的信息填入到聊天界面的输入框中

(4)执行点击发送按钮,执行消息发送。

技术细节

定位消息编辑框

if (SendInput == null)
{
   SendInput = UI_WX_Window.Current.Find("/Pane/Pane[2]/Pane/Pane/Pane/Pane[1]/Pane[2]/Pane[2]/Pane/Pane[1]/Edit");
}

向搜索框输入联系人内容

  private void SetText(WXMessageEntity msg, AutomationElement ele, bool isClear)
        {
            UI_WX_Window.Current.ClickElement(ele);
            if (isClear)
            {
                UI_WX_Window.Current.ClearInput();
            }
            WXUIAuto.Currnet.Invoke(new Action(() =>
            {
                msg.Copy();
            }));

            UI_WX_Window.Current.Paste();
        }

寻找最优联系人

     public bool SearchContract(string name)
     {
         ClickContacts();
         Thread.Sleep(200);
         GetSearchElement();
         if (Search != null)
         {
             SystemLog.Info("开始查找联系人【" + name + "】");

             SetText(new WXMessageEntity { Info = name, Type = WXMessageType.Text }, Search);

             var element = SearchContact(name);

             if (element != null)
             {
                 SystemLog.Info("查找联系人【" + name + "】成功,开始发送消息");

                 UI_WX_Window.Current.ClickElement(element);
                 return true;
             }
             else
             {
                 SystemLog.Info("查找联系人【" + name + "】失败");
                 return false;

             }
         }
         return false;
     }

 
 }
    protected AutomationElement SearchContact(string name)
    {
        for (int i = 0; i < 15; i++)
        {
            var currentConract = UI_WX_Window.Current.Find("/Pane[1]/Pane[1]/Pane[2]/List/ListItem[1]");

            if (currentConract != null
                &&
                currentConract.Name == name)
            {

                return currentConract;
            }
            Thread.Sleep(100);
        }
        return null;
    }

获取发送消息按钮的元素信息

if (SendButton == null)
  {
     SendButton = UI_WX_Window.Current.Find("/Pane/Pane[2]/Pane/Pane/Pane/Pane/Pane[2]/Pane[2]/Pane[2]/Pane/Pane[2]/Pane[3]/Button");
  }

发送微信消息给指定联系人

  /// <summary>
  /// 发送微信消息
  /// </summary>
  /// <param name="msg"></param>
  public void SendWXMsg(string name)
  {
      if (SendInput == null)
      {
          SendInput = GetSendInput();
      }

      if (SendInput != null)
      {
          WXSendMessageSource.Current.ForEach(msg =>
          {
              SetText(msg, SendInput, false);
          });

          if (SendButton == null)
          {
              SendButton = GetSendButton();
          }

          if (SendButton != null)
          {
              UI_WX_Window.Current.ClickElement(SendButton);
              SystemLog.Info("向联系人【" + name + "】发送消息成功");
          }
      }
      else
      {
          SystemLog.Error("【" + name + "】不是有效联系人");
      }
  }
 if (SendButton != null)
{
    UI_WX_Window.Current.ClickElement(SendButton);
    SystemLog.Info("向联系人【" + name + "】发送消息成功");
}

 因为文章可能无法满足读者要求,如需源码和支持请联系本人 QQ 978124155 上一篇(6)微信UI自动化-搜索指定联系人(C#)icon-default.png?t=N7T8https://blog.csdn.net/lichao19897314/article/details/122962242


下一篇(8)微信UI自动化-监控微信进程运行状态(C#)icon-default.png?t=N7T8https://blog.csdn.net/lichao19897314/article/details/129762864

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
微信是一款支持聊天、语音通话、视频通话、群聊等功能的即时通讯软件。其中,微信群发消息和收消息是其重要的功能之一。 微信群发消息是指用户可以通过微信向自己的好友或者微信群发送一条消息,并且这条消息会被同时发送给所有的收件人。通过群发消息,用户可以一次性向多个好友或群发送信息,方便快捷地进行信息传递、分享新鲜事物以及组织活动等。 微信群发消息操作简单,只需在微信界面选择群发功能,选择群或好友名单,输入要发送的内容,然后点击发送即可。在发送之前,用户还可以对发送的内容进行编辑和预览,确保发送的信息准确、完整。 而收消息则是用户在微信中接收到其他用户发来的消息。当用户收到消息时,微信会自动弹出提示,并在消息列表中显示发送人的头像、昵称以及消息内容。用户可以通过点击消息进行阅读、回复或转发等操作,与好友进行实时交流。 微信消息收发功能支持文字、表情、图片、语音、视频等多种内容格式的发送和接收。用户还可以对消息进行撤回、设为未读、设置消息免打扰等操作,以管理收到的消息微信群发消息和收消息的功能使得用户能够更加便捷地与好友和群组进行沟通和交流。在实际使用中,用户可以通过微信群发消息和收消息,方便地传递信息、分享生活,同时也能更好地组织活动和维护社交关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小耕家的喵大仙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值