ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 说明: 本案例是通过clsWindow2.2控制微信桌面版来发送消息的。原理是模拟人工操作:进入微信桌面版 -> 点击搜索框 -> 输入对应人员名 -> 点击搜索结果 -> 输入框中输入消息 -> 按回车,代码注释很详细,看下就能明白,有一定vb基础的人可以改成群发,定时发送,群中@发送。 ## 测试环境: >[info]win7x64 + 微信桌面版2.6.2.22 + clsWindow2.2 **提示:** 如果不能用可能是以下原因: * 微信版本太旧不兼容当前代码。**对应措施:** 修改相应坐标。 * 微信更新导致一些控件位置大小改变。**对应措施:** 修改相应坐标位置 * 操作系统性能反应太慢。**对应措施:** 可在需要的步骤加延时 * 这里涉及到的坐标可通过qq截图功能获取相对的位置,具体可参考:[如何确定绝对或相对坐标?](05如何确定绝对或相对坐标?.md) *如果有以上问题,请仔细检查并修改相应代码。本范例代码2020-02-05测试通过,不保证更新。* ## 声明: >[warning]本代码免费,可用于任何商业用途,但请勿做非法用途,所引起的一切后果由使用者本人承担。 ## 代码: **用法参考:** ``` 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 w.Paste strName w.ClickPoint 150, 130, , , 500, 500 '点击搜索结果 w.Paste strMsg SendKeys "%s" 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 ``` &nbsp; ![](https://img.kancloud.cn/1a/89/1a89cf67763149cc1c3ac26891471c9c_885x822.gif) **工程下载链接:** https://pan.baidu.com/s/1qwlDP5lOMR19CjXQ-It4CA?pwd=iqvd 提取码: iqvd