说明:
本案例是通过clsWindow2.2控制微信桌面版来发送消息的。原理是模拟人工操作:进入微信桌面版 -> 点击搜索框 -> 输入对应人员名 -> 点击搜索结果 -> 输入框中输入消息 -> 按回车,代码注释很详细,看下就能明白,有一定vb基础的人可以改成群发,定时发送,群中@发送。
测试环境:
win7x64 + 微信桌面版2.6.2.22 + clsWindow2.2
提示: 如果不能用可能是以下原因:
- 微信版本太旧不兼容当前代码。对应措施: 修改相应坐标
- 微信更新导致一些控件位置大小改变。对应措施: 修改相应坐标位置
- 操作系统性能反应太慢。对应措施: 可在需要的步骤加延时
如果有以上问题,请仔细检查并修改相应代码。本范例代码2020-02-05测试通过,不保证更新。
声明:
本代码免费,可用于任何商业用途,但请勿做非法用途,所引起的一切后果由使用者本人承担。
代码:
用法参考:sendWeixinMsg "小张","你好"
Private Sub sendWeixinMsg(ByVal strName$, ByVal strMsg$) Dim w As New clsWindow If w.GetWindowByClassName("WeChatMainWndForPC").hWnd <> 0 Then w.Focus w.ClickPoint 30, 100, , , 200 '延时200ms后点击聊天板块 w.ClickPoint 130, 40, , , 200, 500 '延时200ms后点击搜索框,点击后再延时500ms SendKeys strName w.ClickPoint 150, 130, , , 500, 500 '点击搜索结果 SendKeys strMsg & "{ENTER}" Else MsgBox "未发现微信桌面版,请打开微信桌面版再测试!", vbExclamation End If Set w = Nothing End Sub
以下专门为一些性能较低的机器修改的慢速版本:
Private Sub sendWeixinMsg(ByVal strName$, ByVal strMsg$) Dim w As New clsWindow If w.GetWindowByClassName("WeChatMainWndForPC").hWnd <> 0 Then w.SetPosNormal w.Focus w.ClickPoint 30, 100, , , 1200 '延时200ms后点击聊天板块 w.Focus w.ClickPoint 130, 40, , , 1200, 1500 '延时200ms后点击搜索框,点击后再延时500ms w.Focus SendKeys strName w.ClickPoint 150, 130, , , 1500, 1500 '点击搜索结果 w.Focus SendKeys strMsg & "{ENTER}" w.Wait 500 Else MsgBox "未发现微信桌面版,请打开微信桌面版再测试!", vbExclamation End If Set w = Nothing End Sub
完整工程下载: pan.baidu.com/s/1JxXC9XA8… 提取码: n2rh