如何获取微信新消息通知

2022-05-12 16:57:14 +08:00
 xzpush
1.判断托盘图标是否闪烁,但是通过 pyautogui 拿到图标,拿不到是否闪烁
2.hook 微信的 recv 函数,这种方式是不是会报毒

大家有没有简单的实现方式?
3459 次点击
所在节点    程序员
18 条回复
LeegoYih
2022-05-12 17:03:14 +08:00
https://github.com/wechaty/wechaty
看看这个能不能帮到你
Danswerme
2022-05-12 19:35:01 +08:00
歪个楼,安卓的话可以用 IFTTT 来获取微信新消息通知,我就是用的这个把安卓手机上消息转发到 iOS 。
bybyte
2022-05-12 20:34:47 +08:00
用微信机器人框架
cyningxu
2022-05-12 20:58:42 +08:00
xposed
pytth
2022-05-13 08:27:40 +08:00
写个 Android 监听通知栏的 app 进行 webhook 就行了。
xzpush
2022-05-13 09:22:08 +08:00
@LeegoYih 好,我去看下,谢谢
xzpush
2022-05-13 09:52:08 +08:00
@LeegoYih 这个需要 token ?免费的有时间限制,付费的 200/月 太贵了吧
LeegoYih
2022-05-13 10:12:17 +08:00
@xzpush

自己实现监听消息可能需要一点 UIA 基础,UIA 类似 HTML 的 DOM ,用一个定时任务扫描聊天列表判断有没有新消息即可,需要 Windows Inspect 辅助开发。

可以参考我用 Python 写的一个微信自动发消息 Demo

https://github.com/yihleego/wechat-automation

LeegoYih
2022-05-13 10:24:43 +08:00
千万不要用 DLL 注入的方式获取各种信息,微信封号是没办法解的。

微信多开可以用关闭互斥体方式实现。
如何关闭互斥体: https://github.com/yihleego/robotic-process-automation#%E9%80%9A%E8%BF%87%E5%85%B3%E9%97%AD%E4%BA%92%E6%96%A5%E4%BD%93%E5%AE%9E%E7%8E%B0%E5%A4%9A%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%BF%90%E8%A1%8C

理论上使用互斥体实现防止多开的应用,都可以通过关闭互斥体达到多开的效果,而且几乎没有风险,比如:微信、企微、钉钉、大部分网游。
启动器: https://github.com/yihleego/launcher/
xzpush
2022-05-13 14:18:24 +08:00
@LeegoYih 我看了你的代码,封装的很棒,用的 pywinauto ,和我第一种思路差不多,但是如何判断是否有新消息
LeegoYih
2022-05-13 15:59:30 +08:00
@xzpush 我今天下班了回去写个 Demo 试试
seven123
2022-05-13 17:03:07 +08:00
之前和朋友聊过这个,有多种方法,企业微信或者解密微信 db ,可以看这篇文章,https://mp.weixin.qq.com/s/qRQO9xMvGTQL-ysolXJAxQ ,希望可以帮助到你
xzpush
2022-05-17 09:08:12 +08:00
@seven123 这个获取 key 的过程能不能程序实现
xzpush
2022-05-17 09:08:25 +08:00
@LeegoYih 怎么样兄弟
seven123
2022-05-17 09:09:48 +08:00
LeegoYih
2022-05-17 12:19:01 +08:00
@xzpush
我试了一下,很难实现,硬要获取的话,需要保持微信前台,而且期间不能操作。
主要是微信把未读消息的数量直接通过图片形式绘制到 icon 上了,而且 UIA 树只能获取聊天列表当前展示那几个。
xzpush
2022-05-22 20:17:45 +08:00
@LeegoYih 嗯 是感觉操作 UI 的方式限制性很多
xzpush
2022-05-22 20:20:59 +08:00
@seven123 看了下代码,这种方式每个微信版本都要用 OD 来手动获取 key 的偏移地址吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/852452

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX