群发工具是一些销售、中介、网课助手等都爱喜欢用的小工具。在微信还支持网页版登录时候,我们可以用wxpy做群发工具,这样更专业更高效。但随着微信关闭了网页版登录后,这个库彻底不能用了。好在我们可以用原始的vbs做一个适合个人使用的群发工具,亲测可用。不想看原理的可以关注微信公众号 学英语会编程 回复 群发 直接获取工具。注意该工具只适用电脑端。
网上不合理的刷屏脚本
群发工具的基础是微信自动发送,网上有一套不合理的微信自动发消息的脚本,讨论还比较火热。我把代码贴出来分析一下。
Set WshShell = WScript.CreateObject("WScript.shell")
WshShell.AppActivate "微信目标用户"
for i=1 to 500
WScript.sleep 500
WshShell.SendKeys "^v"
WshShell.SendKeys "%s"
Next
有文章介绍这个脚本可以给微信的任意用户进行刷屏操作。呃…… 从结果上是可以的,但从体验上是不合理的。这个脚本刷屏的前提是需要使用者手动将聊天框打开,并把需要发送的消息复制到剪贴板后双击运行工具。这个刷屏脚本的逻辑很简单。
第一步:创建一个 Windows 脚本对象
第二步:激活指定应用程序,这里填微信就可以了
第三步:设置刷屏的数量为 500 次
第四步:设置每次刷屏的时间间隔是 500 毫秒
第五步:Windows 执行虚拟键盘发送 CTRL + V 粘贴内容
第六步:Windows 执行虚拟键盘发送 ALT + S 发送内容
微信自动发送消息脚本
明白刷屏的核心原理后,将其改造成自动发送消息的脚本也就很简单了。我把代码贴出来分析一下。
Dim Target,Msg
Target= "文件传输助手"
Msg = "测试!"
set ws=wscript.createobject("wscript.shell")
ws.Run "cmd.exe /c echo " & Target & " | clip.exe",0,True
ws.sendKeys "^%w"
ws.sendKeys "^f"
ws.sendKeys "^v"
ws.sendKeys "{ENTER}"
ws.Run "cmd.exe /c echo " & Msg & " | clip.exe",0,True
ws.sendKeys "^v"
ws.sendKeys "{ENTER}"
建议每个sendKeys操作都加上wscript.sleep 500 延迟逻辑,避免操作混乱。
这个脚本的核心也是通过 Windows 的虚拟键盘,通过执行一些快捷键的方式,实现打开微信、查找用户、复制消息内容、发送消息内容。如果要打开QQ程序,需要先设置QQ的「提取消息」的热键。
第一步:定义两个变量,分别是需要推送的微信用户名和需要发送的消息内容
第二步:给变量赋值,在编程领域,很多变量都是需要先定义,后才能使用。很多小白都会犯「变量未定义」的错误
第三步:创建一个 Windows 脚本对象
第四步:将 Target 的内容复制到剪贴板
第五步:Windows 执行虚拟键盘发送 CTRL + ALT + W 打开微信,这是微信自带的快捷键方式,可以在「设置,快捷按键」里面找到或修改
第六步:Windows 执行虚拟键盘发送 CTRL + F 执行查找操作
第七步:Windows 执行虚拟键盘发送 CTRL + V 执行复制操作
第八步:Windows 执行虚拟键盘发送 回车操作
第九步:将 Msg的内容复制到剪贴板
第十步:同理,Windows 执行虚拟键盘发送 CTRL + V 执行复制操作,最后是回车操作发送消息
在人工智能还没有出来前,很多程序的逻辑都是事先安排好的。每一个步骤都是按照设计者的思路一步一步往下走。在你的程序里面,你可以让1+1=3,可以让前进变成后退。而现在的人工智能却不一样,它不再按照设计者的思路去做。设计者只会告诉程序你这样做是对还是错。在程序在大量试错后,就会知道什么是该做,什么是不该做。
微信群发工具
明白微信自动发送的逻辑后,微信群发和QQ的群发就简单很多了。重复代码我就不贴出来了,实现起来也很简单,也可以关注微信公众号 学英语会编程 回复 群发 直接获取工具。
第一步:设置多个目标对象 Target
第二步:复制代码,在第一个对象发送完成后。查找第二个目标对象并发送消息。同理查找第三个……第 N 个目标对象
第三步:将脚本中的 True 改成 False ,以取消代码并行保存等待
本章总结
- 该脚本只是取代了人为操作,通过虚拟键盘执行了复制、粘贴、回车、打开程序等快捷键操作,中途是不允许被干扰
- Script 是脚本的意思,常见的还有 JavaScript
- Object 是对象的意思,在 Java 编程语言中,万事万物皆对象
- sendKeys 多个单词组合建议遵循驼峰命名规则,即两个单词组合,第二个单词的首字母大写
- sendKeys 有几个特殊字符 + 是 Shift, ^ 是 Ctrl,% 是 Alt,{ENTER} 是回车
本章英语
script
英 [skrɪpt] 美 [skrɪpt]
n.剧本;电影剧本;广播(或讲话等)稿;笔迹;(一种语言的)字母系统,字母表
v.为电影(或戏剧等)写剧本
object
英 [ˈɒbdʒɪkt , əbˈdʒekt] 美 [ˈɑːbdʒekt , əbˈdʒekt]
n.物体;物品;东西;(极欲得到、研究、注意等的)对象;宗旨;目的;目标
v.不同意;不赞成;反对;提出…作为反对的理由;抗辩说
send
英 [send] 美 [send]
v.邮寄;发送;传达;转致;告知;派遣;打发;安排去
key
英 [kiː] 美 [kiː]
n.钥匙;关键;要诀;(计算机或打字机的)键
v.用键盘输入;键入;用钥匙划坏(汽车)
adj.最重要的;主要的;关键的
免责声明:
该工具只适合个人娱乐使用,切勿商用,乱用。