写了个微信电脑消息机器人,有个无语的 Bug

2022-07-04 21:56:15 +08:00
 Kasumi20

在自己电脑上一切都正常,部署到 VPS 上开始也正常,不过断开远程连接后死活收不到消息,后来发现是 GetForegroundWindow()检测到没有在前台运行,怎么也不能激活这个窗口了,进去 VNC 登录一下再退出又正常了。。。

代码: https://github.com/develon2015/wxbot/blob/main/src/main.cpp#L125

3250 次点击
所在节点    程序员
18 条回复
bobawujh
2022-07-04 22:07:08 +08:00
同地区买多一台机器
24 小时 rdp 过去就行了 也不用改代码了
zhuweiyou
2022-07-04 22:14:54 +08:00
SendMessage... 模拟点击? 不太稳吧.
pytth
2022-07-04 22:24:17 +08:00
我用 python 也写了一个模拟点击的,已经实现了:

# 发送文本消息(微信号或微信昵称或备注,需要发送的文本消息)
# SendWxMsg('xxx','Python 发送微信消息')

# 发送文件消息(图片、文档、压缩包等)
# SendWxFileMsg('xxx',r"C:\Users\TANKING\Desktop\xxx.jpg")

# 转发群里最新的一条消息(微信号或微信昵称或备注,群名称)
# ZhuanfaMsg('xxx','xxx')

# 获取你的个人信息(昵称、微信号)
# GetYourInfo()

# 获取好友微信的个人信息(昵称、微信号)
# GetFriendInfo('xxx')

# 获取微信群人数
# GetCharRoomUserNum('xxx①群')

# 发布群公告
# AddGorupNotice('工作号','Python 发布群公告')

# 邀请好友进群
# ReqFriendsToGroup('xxx④群','微信号')

# 获取好友最新的聊天记录
# GetChatRecord('微信号')
akira
2022-07-04 23:20:40 +08:00
是 windows server 版本的 服务器么
Kasumi20
2022-07-05 00:16:55 +08:00
@akira 是的
xLuoBo
2022-07-05 00:58:15 +08:00
我有一台 n1 装的 ubuntu 桌面版,vnc 控制他的时候有显示器很流畅,拔掉显示器就异常的卡顿。

总不能搞个显示器常年插着吧,解决方案是:虚拟一台显示器,vnc 立马流畅了
lmaq
2022-07-05 01:14:58 +08:00
以服务方式运行才可以
beijiaoff
2022-07-05 08:32:21 +08:00
@xLuoBo 有实体的虚拟显示器,就是插上一个 hdmi 接口,不带显示器。
PowerDi
2022-07-05 08:50:04 +08:00
@xLuoBo 请教有什么方案可以虚拟一台显示器?
TsubasaHanekaw
2022-07-05 09:08:27 +08:00
淘宝买 hdmi 欺骗器就行 十几块钱
chengyiqun
2022-07-05 09:09:21 +08:00
@PowerDi #9 搜下 显卡欺骗器, HDMI 诱骗, 显卡假负载
chengyiqun
2022-07-05 09:10:13 +08:00
@TsubasaHanekaw #10 有个问题, 欺骗器怎么撞到 vps 的主机上? 那不是云服务提供的吗?
lizhenda
2022-07-05 09:36:27 +08:00
转个 Xvfb ?
LeegoYih
2022-07-05 11:01:19 +08:00
OP 是指因为远程桌面断开连接后,自动锁屏导致无法获取窗口吗?我解决过类似的问题

通过 tscon 保持 Windows 远程桌面关闭后仍可交互的方法: https://github.com/yihleego/robotic-process-automation#%E9%80%9A%E8%BF%87tscon%E4%BF%9D%E6%8C%81windows%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E5%85%B3%E9%97%AD%E5%90%8E%E4%BB%8D%E5%8F%AF%E4%BA%A4%E4%BA%92%E7%9A%84%E6%96%B9%E6%B3%95
Kasumi20
2022-07-05 11:36:31 +08:00
@LeegoYih 谢谢,应该就是这个问题
ysc3839
2022-07-05 12:33:10 +08:00
建议试试用 PostMessage 直接发送键盘鼠标事件
qile1
2022-07-05 12:56:11 +08:00
@pytth @pytth 能不能分享下,我用微信测试公众号申请了个测试程序,自己写了个发消息功能,但是我两个测试号可以收到消息,另外两个人收不到,奇怪啦
baiyaoqiang
2022-07-05 14:31:56 +08:00
造轮子多累呀

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

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

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

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

© 2021 V2EX